App Store web has exposed all its source code

192 pointsposted 2 days ago
by redbell

58 Comments

ChrisMarshallNY

6 hours ago

As a frequent user of the backend (Connect), I am skeptical that this is source that you want to reproduce (unless you're a scammer).

dzonga

2 days ago

sourcemaps should be enabled -- that's how people learn.

a lot of people learned to code on the web via viewsource - now we are obfuscating the code

zerr

5 hours ago

Probably due to usage of fat front end frameworks which also include whole business logics.

namegulf

3 hours ago

sourcemaps are not for learning, it's for debugging

embedding-shape

2 hours ago

Some sites want to ship small bundles to the client by default, sourcemaps enables that + you get to introspect it because it's downloaded only when requested. Literally best of both worlds :)

samdoesnothing

an hour ago

I love shipping source maps for my stuff bc it lets other developers take a peek and I love doing that with other peoples sites :)

wackget

3 hours ago

Honestly the site[1] is very basic and pretty damn slow. When I click into a different category there is a noticeable delay of 1-2 seconds before the new page loads. I don't want to replicate this in any of my own projects.

1: https://apps.apple.com/

pwdisswordfishs

39 minutes ago

Just checked, and it's pretty snappy... under Firefox... on 10-year old hardware... that was originally a Chromebook.

Have you tried visiting the site on a worse machine?

samdoesnothing

3 hours ago

That's what this type of SPA architecture leads to unfortunately. Routers should immediately display the navigated to route with place holder content / skeletons, but instead all the frameworks basically wait for all the data to load before transitioning. You can technically stream the data in but even a single awaited promise will block the navigation until it succeeds. And it's not an issue that shows up in dev because typically the data loading is instant.

cyberax

2 hours ago

Nope. Skeletons are the worst. Down with the necromancy!

They try to create a _perception_ of a quick answer while adding overhead and distracting people.

eviks

2 hours ago

It's not a perception if partial load shows some information faster than waiting for the full load

bastawhiz

an hour ago

Skeletons are a loading state. Get rid of skeletons and you either have unresponsiveness or flashes of nothingness

themafia

7 minutes ago

The flashes signify actual changes. It's a secondary signal to resume paying attention to the page.

What I truly hate are animated skeleton boxes or element level spinners. Why are you trying to hold my attention on something that's not even loaded yet? We all understand the UI paradigm and implicitly understand network delay, you don't need "comfort animations" to keep me happy. I'd rather use the time to look at any of the other tabs or applications across my screens. Then the flash of content actually means something.

pier25

an hour ago

Either you wait to get all the data to display the new UI, you show spinners, or you show skeletons.

Personally I prefer to wait than having multiple flashes of content but I do agree no approach is perfect.

samdoesnothing

an hour ago

It far and away beats the alternative which is clicking on a link and nothing happening. Feedback should be within a frame or two of latency, not seconds...

halapro

10 minutes ago

If you let the browser change page, then you do have feedback. Super native.

kid64

an hour ago

That's not the only alternative, there are a range of options between those extremes.

namegulf

3 hours ago

Still not sure What was the excitement about.

Was it, HTML, CSS & Javascript?

Yaina

2 hours ago

It's written in Svelte, which personally I'm excited about just because it means that a pretty big tech company is using it :)

And the "leak" is fun for me because you can see how they write their components haha

arvinsim

13 minutes ago

Can you tell me what is the number 1 feature that Svelte has over the incumbents like React?

no_wizard

2 hours ago

I wonder what the heck @jet is. Never heard of that before. Must be an internal lib?

andoando

2 days ago

App store uses svelte? :o

zote

2 days ago

Apple Music uses Svelte too

qn9n

16 hours ago

And Apple Podcasts

ranger_danger

6 hours ago

And the Windows 11 start menu is just React Native. Strange times indeed.

dlivingston

6 hours ago

It's pretty clear to me that JavaScript is becoming the de facto standard for UI/UX programming, regardless of platform, and regardless of web vs. native targets. Even GNOME has JavaScript bindings. [0]

[0]: https://gjs.guide/

andoando

4 hours ago

Personally I love it. HTML/CSS is still the best, most well documented and familiar gui framework

ranger_danger

33 minutes ago

The problem is performance... requiring a web browser to draw a UI takes a LOT of CPU and memory, and not all devices have enough power to deliver a smooth experience across all potential workloads.

I worry that every year we keep increasing our processing requirements and bloat without good reason for it.

Why should every Windows release require a faster and faster CPU, and more and more RAM?

The recommended amount of memory for Windows 95 was 8 megabytes, and for Windows 11 it is 8 gigabytes. Why is this not horrifying?

My small Linux system with openbox GUI barely cracks 100MB memory usage in 2025.

samdoesnothing

an hour ago

Have you used other ones? Not a dig, I've primarily used HTML/CSS for UIs and have been playing around with Compose recently and haven't made up my mind what I like more.

nish__

an hour ago

Same here. I've grown to really love Jetpack Compose. Personally, I'd say I like it better than any other framework I've tried before.

ranger_danger

35 minutes ago

From what I have seen, most of the current GNOME UI is in fact just javascript. And any plugins people write for it are also javascript.

hebelehubele

6 hours ago

What the fuck. Does that mean alternative start menus (e.g. Stardock Start11) are provably faster & lighter on resources?

Chabsff

5 hours ago

Not by virtue of that alone.

A choice of tech stack can never be enough to prove anything. It only establishes a lower bound on resource usage, but there is never and upper bound as long as while() and malloc() are available.

burntice

5 hours ago

Dumb question but Apple’s apps are buttery smooth. I just assumed they were using swift and not a web stack to render their UI. Am I completely wrong?!

cyral

5 hours ago

This is the source for the web version of the app store

socalgal2

30 minutes ago

which is the same as they use in their native app. It's just a webview

elpakal

2 hours ago

which is definitely not buttery smooth, I use it every day

zb3

5 hours ago

In case you want to save sources with the ability to fetch all possible lazy chunks, last year I made a tool to do exactly that: https://github.com/zb3/getfrontend

(note it won't work on apps.apple.com because apple has removed these sourcemaps)

OCTAGRAM

a day ago

There was Cappucino by ex-Apple employees, and actual Apple devs had SproutCore. So where did they go? Why some unknown libraries?

afavour

6 hours ago

It's using Svelte, I wouldn't exactly call that unknown. Why maintain your own library when a third party one does exactly what you need?

frou_dh

16 hours ago

Unsurprisingly there are many frameworks/initiatives that end up falling by the wayside over the years, e.g. MacRuby was being lined up to supersede Objective-C for app development at one point.

lapcat

5 hours ago

I downloaded the code from the repository yesterday, but it's really not very interesting.

nacozarina

17 hours ago

hilarious —- great score !

AbstractH24

2 days ago

Just came here to post this.

Curious if it was done intentionally or simply due to hurrying.

isodev

a day ago

It's not a bug! Websites are supposed to have human-readable markup and scripts.

rxliuli

2 days ago

It appears to have been an accident now - they fixed the issue two hours after I posted on Reddit.

AbstractH24

2 days ago

Curious if you get any sort of takedown notice.

rxliuli

2 days ago

Haven't received it yet.

phillipseamore

2 days ago

The web version of the App Store? It's always been web and webview based, there used to be a preferences/default command to enable web inspector for App store, Music and more Apple apps on MacOS.