ElementaryUI – Swift, in the Browser

(elementary.codes)

125 points | by frizlab 1 day ago

13 comments

  • outlock 26 minutes ago

    Reminds me of Vapor - Swift, but on a server; https://www.vapor.codes/

    • adrusi 1 day ago

      Reminiscent of the now 18-year-old Cappuccino project https://www.cappuccino.dev/

    • gosen 1 day ago

      It would be interesting to see any benchmarks / comparisons to understand what are the benefits of having Swift in the browser. Is it faster? Easier to maintain? Or is it based more on the sympathy to the programming language in general?

      But great job anyway!

      • simonleeb 1 day ago

        ElementaryUI author here:

        It is listed in the js framework benchmark (as elementaryui), so you can check where it lands performancewise ATM: https://krausest.github.io/js-framework-benchmark/current.ht...

        I am convinced we can keep it "fast enough" for most everything. Bundle size still is a weak spot, and proper bundling/splitting of wasm modules has to be willed into existence, but I see no blockers for a pretty smooth experience.

        Honestly, it mostly started as a "I like Swift, can I use it everywhere?" challenge. But there is a real benefit about fully staying in a modern language and tooling environment. Swift, imho, is a very clean and powerful language that fits this space well, might as well build a comfortable way to use it for web projects.

        • gosen 20 hours ago

          Cool, thanks for details and answer! I guess it would be hard to convince JS/TS lovers to try Swift but it's worth a shot :D

      • jan_m_savage 1 day ago

        sooner or later this was gonna happen. Swift is like Haskell, but nicer and more programmer-friendly.

        • isodev 1 day ago

          I wouldn’t fly so close to Apple if I have the choice. Apple could pivot at any moment - “New versions of Swift start at $99,99” /s

          • simonleeb 1 day ago

            ElementaryUI author here (so biased):

            I agree that is a real risk, but imho past behavior suggests that "Apple" Apple and open-source Apple both can exist and it's likely going to be just fine.

            On the plus side: Apple is paying many many real people to progress the language and tooling mostly in the open with solid community work.

            • jan_m_savage 19 hours ago

              you're ignoring the economic context. Languages don't exist in a vacuum.

              Apple would never do that, since a lot of free alternatives are always there. Scala and Kotlin are both very close.

              • earthnail 1 day ago

                New versions of Swift are truly cross-platform. We support iOS, iPadOS, MacOS, HomeOS, VisionOS, WatchOS as well as BodyOS, BrainOS and iThinkOS.

                To help developers focus on the future, Swift 9 drops support for deprecated platforms such as Linux, Windows and the web.

                /s

                I'm actually a Swift developer; it's a great language, but I'm also married to the Apple ecosystem and wouldn't choose it outside of it.

            • pjmlp 1 day ago

              Bit by bit, we are having our beloved browser plugins back, at least for some of us.

              • leecommamichael 19 hours ago

                Fun project, an aside; Apple please fix the Swift compiler. It is so slow. It is so very slow.

              • beans6543 1 day ago

                Their demo is flakey and sometimes fails to hydrate in Firefox latest

                • brailsafe 1 day ago

                  Looks a bit like jQuery mixed with jsx and ember or angular

                  • maxdo 1 day ago

                    Any reason/motivation why ?

                    • simonleeb 1 day ago

                      ElementaryUI author here.

                      The honest original motivation was mostly "Swift for websites, can I do it?". But underneath, I really want to use one capable and modern language (+ ecosystem and tooling) for all my dev needs. That includes having a native, "in-ecosystem" solution for creating web apps of any kind. Somebody's gotta build it...

                      I recently wrote a bit about that on the swift.org blog: https://www.swift.org/blog/whats-new-in-swift-august-2026/

                    • Nice!

                      • nibbo_dev 22 hours ago

                        [flagged]

                        • [flagged]

                          • pipeline_peak 1 day ago

                            We already have Typescript, I don’t see the purpose.

                            • frizlab 1 day ago

                              ‘cause Swift is great, I guess! And more seriously, probably for a shared logic with an iOS & android app.

                              • alsetmusic 1 day ago

                                Just wait until they rewrite Swift with Rust.

                                • frizlab 1 day ago

                                  They will more likely rewrite Swift with Swift (actually they have done a small bit of it already).

                                  • monster_truck 23 hours ago

                                    Swift is not very good. An entire generation of developers are slowly discovering this as they have LLMs rewrite their apps in ObjC & UIKit and see it yield 3x perf improvements without even getting all that far deep into the weeds on optimization.

                                    • frizlab 23 hours ago

                                      Properly written, Swift can beat rust[1]. (Obviously the rust project could probably catch up by using the same optimization techniques than the Swift project did, but my point is Swift has nothing to envy from rust in terms of performance.)

                                      Swift’s philosophy is “easy to use first but you can go lower if you need performance.” Rust’s philosophy is kind of the opposite. I think Swift’s philosophy is a valid, and even a more interesting philosophy than rust’s, but to each his own.

                                      wrt. migrating to ObjC/UIKit please do post references when issuing statements like these. Possibly migrating from SwiftUI to UIKit would give performance improvements, but that has nothing to do with Swift itself. SwiftUI is actually written mostly in C++ IIRC.

                                      [1] https://news.ycombinator.com/item?id=50178103

                                  • monster_truck 1 day ago

                                    I'd rather use Slopjective-C 3.0 tbh

                                • astafrig 1 day ago

                                  This sentiment is sorely missing from the endless Rust re-writes.

                                  • vips7L 1 day ago

                                    Typescript isn’t that good of a language.