[HN Gopher] Rich Harris joins Vercel to work on Svelte full time
       ___________________________________________________________________
        
       Rich Harris joins Vercel to work on Svelte full time
        
       Author : leodriesch
       Score  : 629 points
       Date   : 2021-11-11 15:43 UTC (7 hours ago)
        
 (HTM) web link (twitter.com)
 (TXT) w3m dump (twitter.com)
        
       | uzername wrote:
       | Is this a bet against React or a bet for ecosystem variety and
       | choice? I feel it's the latter right now.
        
         | hunterb123 wrote:
         | Seems more like variety. React is in a league of it's own with
         | React Native. For web tech Svelte is cool, for app tech it's
         | not on the radar.
         | 
         | I used to be a web developer, now I'm a React Native / RNW
         | developer.
         | 
         | I don't use web tech unless I'm making a simple web page, when
         | I do I use vanilla HTML/CSS/optional JS.
         | 
         | You get a web app for free when you make a RN app. You can
         | share 95% of code among 5 platforms. (web, windows, macos, ios,
         | android)
         | 
         | Conditionals can change any styling you need amongst them. You
         | can swap out scripts depending on platforms, you can access any
         | extra native platform function with extensions.
         | 
         | Svelte doesn't work for me because you need JS. I don't want to
         | need JS for simple web pages, for apps I need cross-platform.
         | 
         | Svelte could work well for edge computing like CF workers.
        
           | dexwiz wrote:
           | How is RN? I have seen several teams try to consolidate their
           | App Devs into RN devs, only to split back into iOS/Android
           | devs. From what I'm told, if your app could be a webpage, RN
           | is great. But if you need to really leverage the specific
           | platforms, it's hard to do that.
        
             | ativzzz wrote:
             | It's probably because they had a team of experienced
             | iOS/Android engineers, who are significantly more
             | productive in their respective platforms.
        
             | hunterb123 wrote:
             | > But if you need to really leverage the specific
             | platforms, it's hard to do that.
             | 
             | Not my experience. I have a production app for web, ios,
             | and android, with desktop platforms coming.
             | 
             | You can swap out anything per platform and write any
             | extension for any native functionality you don't have, but
             | the std and community extensions are plentiful.
             | 
             | RN sucks for "web pages", great for apps. In fact sometimes
             | I embed web pages inside my RN apps. (surveys, etc.)
             | 
             | I haven't heard a single good argument of why it doesn't
             | work. If you were going to write a native app you can write
             | a native extension and share the common parts in JS.
             | 
             | RN is not Cordova, it's not a black box, it's very flexible
             | and extensible.
             | 
             | -- @Jcampuzano2 because of post limit --
             | 
             | Earlier yes there's some fickleness with the toolchain, I
             | don't really have issues now, it's fine unless you're on
             | bleeding edge versions or old versions. Performance issues
             | usually relate to the JS bridge, JSI will alleviate that,
             | most devs won't experience an issue. I don't know why
             | others struggle with RN, it works well for me. Flutter is a
             | no go because it emulates native, it's not true native. You
             | can feel the difference on iOS and the web part sucks so
             | hard.
        
               | Jcampuzano2 wrote:
               | Weird because this is the exact opposite of everything I
               | hear from most developers I know.
               | 
               | I personally also worked with React Native for a while,
               | and sure, you can write native extensions for everything,
               | but the biggest complaint is how fickle it is when it
               | comes to upgrading, package management, mind boggling
               | errors related to the metro bundler, etc.
               | 
               | I.E. It's great when it works and you have something
               | simple, but things broke so often compared to native
               | development when you had to do anything complex. And the
               | performance characteristics weren't very great on top of
               | this.
               | 
               | I haven't done React Native in a bit more than a year but
               | from people I talk to not much has changed, and most
               | people I talk to who were all in on React Native mention
               | to use Flutter instead nowadays if you really want cross
               | platform UI.
        
               | penjelly wrote:
               | react native can definitely ship production ready
               | applications that large teams work on. bundler problems
               | arent even react native related.. theyre webpack/babel
               | etc. Package management? how is that related to RN?
        
               | throwaway1777 wrote:
               | Because you never have to deal with that stuff in mobile
               | apps unless you use react native? So sure maybe it's not
               | directly react native's fault but it is an issue.
        
               | penjelly wrote:
               | you will always have to manage dependencies somehow.
               | Maybe you prefer the model used by flutter or something,
               | thats preference. Its not a matter of whether of one is
               | unsustainable or not. react native is fine for
               | professional or hobby projects. even if you have problems
               | with babel/webpack/etc bundle server (which btw can be
               | worked around using inline bundling...)
        
               | hunterb123 wrote:
               | This thread initially started by me comparing Svelte to
               | React.
               | 
               | React uses webpack usually, RN uses metro usually, you
               | can use esbuild, swc, etc for either though.
               | 
               | Svelte is a web tech, and thus uses web bundlers like
               | webpack, thus has the same "faults", though I'm not sure
               | what specifically is being critiqued.
               | 
               | When comparing RN to other cross platform solutions like
               | Flutter you're wanting to compare it's package manager /
               | bundler to Metro and the native dependency systems such
               | as Cocoapods.
               | 
               | Just wanted to clear that up.
        
               | BackBlast wrote:
               | My experience with the tool chain was abysmal. It's been
               | almost 3 years away now for me, so I don't know the
               | current state of things. I hope it has improved.
               | 
               | But every update was a large effort in bringing the app
               | back into compliance with the new changes. The debugging
               | platform used a different interpreter than in app
               | resulting in things that worked in the debugger but not
               | in production. Odd bugs at boundary layers nobody could
               | (easily) decipher. The inability to even catch or do
               | anything with some crashes.
               | 
               | It was the worse experience I ever had with a development
               | tool chain in my entire career.
        
         | leerob wrote:
         | To me, it's uplifting the entire web ecosystem. There will
         | always be developers who pick Svelte and friends over React,
         | even if that reason is just syntax preference. Those developers
         | should still have the best infrastructure for their apps.
         | Better to be pragmatic than over-prescriptive.
        
         | dexwiz wrote:
         | If you are building a platform for web dev, it's better to be
         | able to control your technology. Any change FB makes to React
         | may leave you scrambling to patch your tech. Or What if one day
         | FB decides to stop supporting React, or they make a design
         | decision incompatible with your business? While it sounds
         | unlikely, it's bitter pill to swallow from a business angle.
        
           | [deleted]
        
           | penjelly wrote:
           | react is used so many places professionally that i think
           | someone would just fork or remake react from scratch if they
           | ever did that.
        
             | dexwiz wrote:
             | And then you would probably be forced to support classic FB
             | React for customers that didn't want to migrate, and forked
             | React.
             | 
             | The real issue is if you build any special sauce on top of
             | React. Say you went all in on providing a customized
             | React.Component that worked like a React.Component, but had
             | your platform's logging, perf metrics, etc built in. Then
             | React comes out with hooks and functional components and
             | then you are stuck trying to reimplement your special sauce
             | using these. Or you have to tell customers, "we only
             | support class based components." While functional
             | components are old, FB has shown it will introduce paradigm
             | changes into React, and you are left holding the bag when
             | it comes to supporting them in your platform. And if
             | customers saw a new React feature previewed yesterday, be
             | sure they will be asking for support for it today. FB isn't
             | likely to hand over React to Apache or any sort of open
             | governance model, so changes can be easily made without a
             | huge amount of forewarning, or even a business
             | relationship. Last time I checked FB wasn't selling support
             | contracts or partnerships for React.
        
       | [deleted]
        
       | bartq wrote:
       | Feels like a good move. How else could framework be developed
       | than implementing some requirements. Vercel should provide lots
       | of them. What else can be added to Svelte btw? It looks like a
       | finished project already. People can only invent in Svelte area
       | if browser standards move forward, right? Otherwise Svelte can
       | only be used to support needs of some platform.
        
       | dang wrote:
       | We changed the url from https://vercel.com/blog/vercel-welcomes-
       | rich-harris-creator-... to Rich's own post.
       | 
       | There were two other submissions - one to an interview ( _Svelte
       | Creator Rich Harris: Web development should be more fun_ -
       | https://news.ycombinator.com/item?id=29189209) and the other to
       | this Twitter link
       | (https://news.ycombinator.com/item?id=29189467). I've merged
       | those threads into the current submission because it was posted
       | first.
        
         | pier25 wrote:
         | Thanks dang! This was the right move.
        
           | leerob wrote:
           | Agreed, thank you so much.
        
       | ithkuil wrote:
       | I heard about vercel before but this announcement made me try it
       | out.
       | 
       | Oh boy, what an amazing onboarding experience!
        
       | penjelly wrote:
       | i just started rebuilding my personal site with nextjs but the
       | enthusiasm here is pushing me to try svelte for the first time..
       | guess ill have to take a look at the feature list
        
         | midrus wrote:
         | It is really worth it. Svelte is sooooo much better than React.
         | Believe me, I was one of the skepticals about the entire SPA
         | thing but after trying Svelte I think my problem was with
         | React, not with the concept per se.
        
           | penjelly wrote:
           | i dont actually have any problem with react, but im
           | definitely open to new things this thread reveals to me that
           | this Rich character has some useful information i should look
           | into.
        
       | didip wrote:
       | Can someone teach me how Svelte does what it does? The front page
       | is not telling me much?
       | 
       | How does it "surgically" update the DOM? Why is it better than
       | virtual DOM?
        
         | rglover wrote:
         | Surgical = "It checks a diff of what the component rendered
         | before an update vs. after and then only patches or updates the
         | parts of the DOM that need to be changed (as opposed to
         | replacing the _entire_ DOM, which is slow). " Similar to React.
         | Svelte may not be using the exact same mechanisms but this is
         | in the ballpark.
         | 
         | Virtual DOM is just an in-memory representation of the DOM that
         | describes which child elements (e.g., a <p /> nested within a
         | <div />) belong to which parents, and which attributes/values
         | those elements need at render time. When a change happens, you
         | can generate an updated virtual DOM and diff it against the
         | previous (or current) version and pick out what specifically
         | needs to be changed in the DOM (read: surgically).
        
           | bdougherty wrote:
           | There is no diff going on with Svelte. And there doesn't need
           | to be an in-memory representation of anything. Because it is
           | compiling the code, it knows exactly what will change and in
           | response to what.
           | 
           | https://svelte.dev/repl/7161f10f8eb645d8984fb231a0bc3982?ver.
           | ..
           | 
           | For example in that repl, you can see that it makes a call to
           | `$$invalidate` when the input value changes (see
           | `input_input_handler()`) which triggers a `set_data` call
           | (see `p()`) to update just the textNode that contains the
           | name. This is what is meant by surgical. No other work is
           | done other than what is required to update the specific
           | places where a variable is used.
        
             | rglover wrote:
             | This is a cool approach, thank you for sharing that link.
        
         | jitl wrote:
         | When your React component renders, it returns an object that
         | describes the desired state of the component tree. Take this
         | component:                   function MyComponent() {
         | return <div>Here's <b>bold text</b></div>         }
         | 
         | At runtime, React calls your component function and then
         | applies the returned data to the DOM imperatively. If your
         | component has rendered before, React needs to _diff_ the
         | virtual DOM your latest render returned against the VDOM React
         | last applied to the real DOM. Very simplified idea of what
         | happens on every render:                   function
         | reactInternalRenderLoop(root) {          const newVdom =
         | MyComponent({})          const diff = diffVdoms(root.prevVdom,
         | newVdom)          for (const change of diff) {
         | change.applyToDOM(root.domNode)          }
         | root.prevVdom = newVdom         }
         | 
         | React's runtime time complexity is fundamentally limited by
         | this `diffVdoms` function, and React's memory usage is
         | fundamentally limited by the size of the VDOM returned by
         | components.
         | 
         | What Svelte does is entirely eliminate this whole process
         | involving diffing and what-not. At compile time, Svelte
         | analyzes the data dependencies between the rendered template
         | and reactive values in the app, and generates self-contained
         | components that know how to update their own DOMs. You can
         | think of it as essentially moving the entire
         | `reactInternalRenderLoop` function from _runtime_ to _compile
         | time_. There is no more diffVdoms function call on your user's
         | devices. There is no more big allocation of VDOM data
         | structures.
         | 
         | Svelte might compile `MyComponent` to something that looks like
         | this:                   const MyComponent = {
         | mount(parent) {             const element =
         | document.createElement('div')             div.innerHTML =
         | "Here's <b>bold text</b>"             parent.appendChild(div)
         | },           update() { /* no-op */ }         }
         | 
         | And since the Svelte compiler knows the contents of MyComponent
         | never change, the mount function will only be called once for
         | the entire runtime of your app.
        
           | tuan wrote:
           | So it sounds like the tradeoff here is that the generated
           | bundle is more complicated/bigger. I'm not familiar with
           | Svelt, but wondering about bundle size + debuggability.
        
             | jgalentine007 wrote:
             | When I tried Svelte a while back (year or two ago) I had
             | difficulty working with code in the debugger, couldn't seem
             | to get source maps to work correctly, I wonder if it's
             | fixed.
        
             | bdougherty wrote:
             | At a certain size, yeah the bundle will be larger, but it
             | would take a lot to get to that point. For pretty much
             | anything you would do, the bundle will be much smaller.
             | Especially if you use SvelteKit which is smarter about what
             | is bundled and when it loads.
             | 
             | As for complexity, the generated Svelte code is extremely
             | readable. Take a look at the generated JS tab in the repl:
             | https://svelte.dev/repl
        
       | [deleted]
        
       | xrd wrote:
       | So smart by Vercel. So many people will use their platform
       | because of the association with Rich. This is a marketing expense
       | that will show up on the books as headcount. Rich deserves this,
       | he's created an amazing project with an amazing community.
        
       | aogaili wrote:
       | Personally I have mixed feeling about this.
       | 
       | I guess I'm not a fan of seeing investors money expand it's
       | control over the open source ecosystem. I like open source
       | because it empower the little guys. But I don't expect others to
       | share my values and perspective and perhaps Rich Harris turns out
       | to be a robinhood. Why not doing something like the creator of
       | Vue? With that said I look forward to see what comes out of their
       | shop. Good luck :)
        
       | pier25 wrote:
       | Woah as a Svelte user I'm super happy and this is going to change
       | everything.
       | 
       | I can only speculate as to the reasons behind this decision by
       | Vercel. Why Svelte and not Preact for example?
       | 
       | In any case, congrats Rich!
        
         | leerob wrote:
         | We love Svelte and are super excited to help it grow. IMO it's
         | fun, easy to learn, and is fresh take on modern web
         | development.
         | 
         | More here: https://vercel.com/blog/vercel-welcomes-rich-harris-
         | creator-...
        
       | owlbynight wrote:
       | Started learning JS a few years ago. Picked svelte for my front
       | end stuff because the other frameworks seemed saturated with
       | experienced devs already and I wanted to be closer to the ground
       | floor on something. I've been waffling the last year or so,
       | wondering if I should focus more on NextJS because it was backed
       | by Vercel.
       | 
       | I breathe a little easier today! This is great and can only be a
       | good thing for svelte and sveltekit.
        
       | whiddershins wrote:
       | We have used Svelte for a major internal project and it has been
       | an absolute joy to work with.
       | 
       | This is really exciting news.
        
       | kosolam wrote:
       | Svelte is really great. It really needs this boost in cash to
       | polish the rough edges and improve tooling etc. I'd add that most
       | people here who are hating on the syntax didn't go to check what
       | svelte is actually about. I say that even though I work with
       | React professionally
        
       | solarmist wrote:
       | Any Svelte UI component libraries with good i18n and a11y
       | support?
        
         | tropix126 wrote:
         | Carbon and SMUI are both good.
        
       | tekkk wrote:
       | Wow, this should be great news for Svelte and SvelteKit!
       | Hopefully with Vercel's backing these projects will fly off.
       | 
       | Having worked with React for about 5 years (with a project in Vue
       | in-between) and now having dabbled with Svelte, there is just
       | something more appealing working with less higher-level
       | abstractions. Sure with large apps React does have its benefits
       | and its ecosystem is larger by a good amount.
       | 
       | But there is just something about being _less_ annoying that to
       | me is perhaps one of the most important things with any tool. If
       | I enjoy using it, I don 't mind that it may not be the "current
       | best choice" of the moment. People who enjoy MobX especially I
       | think ought to find Svelte quite nice.
       | 
       | Sure though would wish SvelteKit was at the same level with
       | Next.js. Fixing dev server errors is a little distracting at
       | times.
        
         | [deleted]
        
         | FractalHQ wrote:
         | > ecosystem is larger by a good amount.
         | 
         | Svelte's ecosystem is, in practice, actually much larger than
         | React and any other framework because Vanilla JS works out of
         | the box without framework specific wrappers. So just about any
         | JavaScript package can be imported into a Svelte file and used
         | without hassle.
        
           | noir_lord wrote:
           | It's also _really_ easy to use with typescript.
           | 
           | The last place I worked was a React shop, before that I did
           | most of the frontend as well and used Vue, Current place uses
           | Svelte and I'm really glad they did/do, the continual
           | surprise is how Svelte makes easy things easy and hard things
           | doable.
        
         | benmccann wrote:
         | > Fixing dev server errors is a little distracting at times
         | 
         | You will be very pleased with the upcoming release of Vite 2.7!
         | It's by far the most impactful release of Vite thus far for
         | SvelteKit. All the major known issues we've been tracking have
         | been addressed in the latest Vite 2.7 beta (assuming that one
         | of the PRs we're still working out the kinks of doesn't get
         | rolled back, but either way it'll be a huge improvement!)
        
           | sxiao wrote:
           | Ben, please don't surprise us and tell that you are the next
           | one on Vercel's payroll.
        
             | benmccann wrote:
             | I'm doing my own thing and won't be joining any existing
             | company ;-)
        
               | sxiao wrote:
               | > won't be joining any existing company
               | 
               | Good news and the most underrated and overseen comment in
               | this thread. Nice man!
        
         | kall wrote:
         | Well if there's any place to learn from next.js it's probably
         | Vercel. Looks like great news for Svelte.
        
       | _puk wrote:
       | This is absolutely fantastic news!
       | 
       | I love Svelte, and have been using it for a year or so now, but
       | lack of community mindshare means that I've had to roll a lot of
       | my own components.
       | 
       | That said, I think Netlify missed the boat on this one - happily
       | using Netlify with Sveltekit, and it would have been great to
       | have the competition in the PaaS space.
        
       | yumraj wrote:
       | Can someone explain what Vercel does.
       | 
       | I'm familiar with Svelte, but interestingly not with Vercel. A
       | scan of their website wasn't completely clear, but that is
       | probably just me.
       | 
       | Edit: thanks to all who answered, very helpful.
        
         | ryanSrich wrote:
         | Used to be called Now. It's a PaaS.
        
         | inglor wrote:
         | They are a competitor with other clouds like
         | AWS/Azure/GCP/DigitalOcean with a focus on JAMStack and modern
         | workflows.
        
           | dbbk wrote:
           | More like a competitor to Netlify, GitHub Pages, etc
        
         | _fat_santa wrote:
         | Vercel is a hosting provider for static websites. I see it as a
         | simplified versions of AWS, specifically for static websites.
        
         | leerob wrote:
         | Hey! I'm Lee, Head of DevRel at Vercel :) Happy to answer any
         | questions you have.
         | 
         | Vercel is a frontend cloud platform that integrates with any
         | framework you prefer (or just plain HTML!). We are also the
         | creators of Next.js, which is a React framework. We try to make
         | it as easy as possible for you to write some code and put it on
         | the web, globally.
        
       | dceddia wrote:
       | This seems like a huge positive step forward for Svelte and the
       | community. Big congrats to Rich!
       | 
       | I've been excited about Svelte for a while and recently chose to
       | use it as the UI for a cross-platform video editing app
       | (https://getrecut.com), with the back end in Rust. I've found it
       | a pleasure to work with -- Svelte Stores and the Context system
       | are especially great for sharing state, and the app feels snappy.
       | Last few weeks most of the focus has been on the Rust backend but
       | I'm really looking forward to building out more of the UI soon.
       | 
       | I've also been happy to find that its generated code is pretty
       | readable. On one little performance-tuning side quest, I was
       | profiling to figure out why the app was performing a Layout on
       | every video frame, and I was able to step through the compiled
       | Svelte component code and narrow it down to one of my own
       | functions. I also briefly went down a path of trying to manually
       | set the text content on an element, to see if it'd be faster than
       | letting Svelte do it. Turned out the answer was no, but it was
       | nice to know that level of control is available if I need it some
       | day.
       | 
       | Excited to see where the Svelte community goes from here!
        
         | gnrlst wrote:
         | I see your app is MacOS only at the moment. Are you re-writing
         | it in Electron or what? Very curious
        
           | dceddia wrote:
           | Yeah, rewriting it with Electron + Svelte + a Rust backend
           | for the heavy lifting.
           | 
           | I looked at alternatives to Electron because I wanted to
           | avoid the bloat, but nothing felt like the right fit. Tauri
           | (https://tauri.studio/) is the most exciting, but I couldn't
           | find a good way to get raw video frames into the UI without a
           | bunch of expensive copies or serialization. I also looked at
           | native toolkits like Qt (I've worked with it in the past) but
           | I didn't love the idea of building lots of custom UI
           | components without the benefit of HTML + CSS. So for now it's
           | Rust + Electron, and I'm paying extra attention to
           | performance.
        
             | vips7L wrote:
             | Did you look at .Net solutions like Maui, xamarin, uno
             | platform, or AvaloniaUI?
        
               | dceddia wrote:
               | My thought process was, if I'm gonna have to rewrite the
               | app, I may as well use the web dev skills I already have,
               | so that at least the UI work will be in my wheelhouse.
               | Rust is new to me, as is low-level ffmpeg stuff, both of
               | which I've had to learn from scratch.
               | 
               | I learned Swift in order to build the Mac app, and I know
               | from that experience that building custom UI controls
               | while learning a new ecosystem slowed me down a lot. I
               | didn't love the idea of repeating that experience, and
               | where I'm headed there's gonna be a good bit of custom
               | UI.
        
               | spoils19 wrote:
               | Sounds like an easier process for you, but at the cost of
               | your users. This proliferation of web tooling when it
               | clearly doesn't suit the environment (desktop) is part of
               | the reason why our software is getting slower, even as
               | our hardware is improving.
        
               | cakoose wrote:
               | Not always at the cost of the users?
               | 
               | If dceddia is able to add features and fixes more
               | quickly, that's good for users too.
               | 
               | And if Svelte on the desktop becomes popular, people will
               | likely come up with more efficient options. For example,
               | a more efficient Electron or something like "Svelte
               | Native", which could be a good thing.
               | 
               | I'd love if all software were more efficient, but getting
               | up to speed on a new platform has a huge opportunity cost
               | too.
        
               | dceddia wrote:
               | Being very conscious of those downsides, I'm putting in
               | extra effort to make sure it's fast. So far it seems to
               | be working!
               | 
               | It uses less CPU than any other Electron-based video apps
               | I've seen (and even less than a few Qt-based editors I
               | tried) and it feels snappy.
               | 
               | I think tools like Figma have shown what's possible when
               | enough attention is paid to performance early on - but
               | yeah, it's one of my main worries with going with
               | Electron and I'm trying to avoid the downsides as much as
               | I'm able.
               | 
               | The ones I have less control over are memory usage and
               | disk space. I'd _love_ to get those down but it seems
               | like that 'd require digging into Chromium and ripping
               | things out. Which, honestly, I looked at doing, but that
               | code base is a beast and I'd rather get something into
               | peoples' hands sooner.
               | 
               | On a related note: I think there's a real opportunity for
               | an "Electron Lite", like some kind of custom
               | Electron/Chromium build that turns off stuff you don't
               | need. I suspect it could help disk usage + memory usage +
               | startup time. Chromium's build system has lots of flags
               | that make it _seem_ like you can turn things off. But it
               | didn 't work that way when I tried, so I think it
               | probably requires source-level changes, which then means
               | maintaining those patches across Chromium updates etc.
               | But really, though: I don't need WebRTC, or printing, or
               | media codecs, or probably a zillion other things. It'd be
               | so cool to be able to turn those things off at will.
        
               | O_H_E wrote:
               | That sounds like a responsible way to divide focus. Kudos
               | 
               | I forget the word or the link, but I think there was a
               | "rule of thumb" thing that circulated HN about having a
               | limited budget for taking-risks/being-bleeding-edge, and
               | focus in spending that on differentiating properties of
               | your projects, while the rest should stay "old and
               | boring"
        
               | dceddia wrote:
               | Thanks, and yes! "Choose Boring Technology", love this:
               | http://boringtechnology.club/
               | 
               | The idea of spending fewer "innovation tokens" was
               | definitely on my mind when I was thinking through this.
        
             | rickstanley wrote:
             | > without the benefit of HTML + CSS
             | 
             | Are you referring to ease in complexity of creating
             | components compared to the alternatives? Because I end up
             | with the same choice when sieving frameworks to use
             | crossplatform. But I've been looking nto Flutter recently,
             | although it's still in beta, it has potential.
        
               | dceddia wrote:
               | Yeah. I talked about this in another reply but I've had
               | mostly web development experience over the past few years
               | and UI work is familiar. I didn't love the idea of having
               | the entire tech stack being unfamiliar. (I'm already new
               | to Rust and ffmpeg/video stuff)
        
             | nicoburns wrote:
             | React-native might be the close to what you're looking for
             | at the moment. But the ecosystem is still tiny on Desktop,
             | and I don't think it supports desktop linux at all.
        
               | dceddia wrote:
               | Yeah I looked at it briefly but the lack of usage was a
               | bit of a worry. And if I'm honest I really wanted a
               | chance to use Svelte :)
        
           | protonimitate wrote:
           | Also curious - I'm spinning up a small side project with Rust
           | and Svelte. Was looking in Tauri as a replacement for
           | Electron but wondering what other approaches people have
           | worked with (assuming this is a cross platform desktop app,
           | that is).
        
             | dceddia wrote:
             | Tauri seems like a nice option. It's not as full-featured
             | as Electron yet but their focus on security is great to see
             | (last I saw they were getting the codebase professionally
             | audited). The main reason I didn't go with it was just that
             | doesn't seem to (yet?) suit my use case with zero-copy data
             | transfer between Rust <-> Browser.
             | 
             | My hope is that by writing most of my backend in Rust, that
             | it'd be easy-ish to switch to Tauri or other options if
             | something changes down the road.
        
         | Tade0 wrote:
         | > I was able to step through the compiled Svelte component code
         | and narrow it down to one of my own functions.
         | 
         | This is the best part about next-gen frontend frameworks. We
         | can go back to having a stack trace uncluttered by layers of
         | asynchronous abstractions.
        
           | dceddia wrote:
           | Love me some good old synchronous code! :D
        
         | vgel wrote:
         | Do you have a mailing list I can toss my email on for when this
         | is available on Linux? Honestly I was ready to buy it instantly
         | before I saw the platform limitation, but it would be even
         | better if it could run some basic filters like removing pops
         | and de-essing, which I always struggle to get working right in
         | Audacity (I have a screenshot saved of my filter curve because
         | Audacity doesn't save it, it's so stupid).
        
           | dceddia wrote:
           | It's not Linux-specific but you can sign up to hear about the
           | Windows one (click the "Get Notified" button on the home
           | page) and I'll let everyone know if/when there's a Linux
           | version.
           | 
           | Fair warning I haven't even tried getting it to run on Linux
           | yet... but I've been meaning to try it out, if only for the
           | profiling and debugging tools! (rr looks really cool!)
           | 
           | In theory it runs everywhere because Electron, but my gut
           | says the difficulty with supporting other platforms will come
           | down to compiling and packaging. That's been the biggest
           | hurdle with Windows so far anyway.
        
         | kingcharles wrote:
         | Looks cool - what is the timescale for Windows?
        
           | dceddia wrote:
           | Weeks to months, hopefully by the end of the year? We'll see!
           | A lot depends on what other challenges come up, heh.
        
       | falafelite wrote:
       | Thrilled to hear it! As someone who has primarily written back-
       | end code, I found Svelte to be the most accessible (readable,
       | good/simple docs with lots of examples, easy getting started
       | instructions, clear conceptual framework). Eager to see what
       | comes out of this.
        
       | midrus wrote:
       | I've been pretty skeptical about SPAs but having tried out Svelte
       | for a few side projects, I have to admin I was probably directing
       | my skepticism to the wrong thing, probably React was the cause of
       | my dislike for SPAs. Svelte looks really awesome and the
       | simplicity it brings back is invaluable. I really wish it takes
       | off, for real. Looks very promising.
        
         | solarmist wrote:
         | What bits were misdirected? What worries did you have?
        
           | midrus wrote:
           | The complexity and the over engineering going on, mostly.
           | 
           | Things such as redux, rxjs, observables, thunks, etc really
           | put me off when you compare that to just MVC with Rails for
           | example, plus most applications I worked with React were just
           | forms anyway, with some fancy controls/widgets on top.
           | 
           | Not having a clear way, even today with Next, to load data
           | (client side, without doing SSR) before a route transition
           | happens (which leads to spinners everywhere), and now the
           | solution seems to be all the server components, concurrent
           | mode, suspense, etc, etc which to me is just mind blowing how
           | complex things became.
           | 
           | Also hooks which conceptually they make a lot of sense and I
           | like them, but then you have to do all the dependencies
           | tracking manually, they have a lot of gotchas (async in
           | useEffect, ordering, etc).
           | 
           | The "rerendering of everything" and the need for manual memo,
           | useMemo, useCallback, etc and the whole "don't optimize it
           | until you need it" (guess what, a my company as in many
           | others it never was a product priority to make it fast).
           | 
           | Now, take the good parts of the approach, remove all these
           | complications, and you have a very nice and clean approach to
           | do web apps. To me that is what Svelte brings back.
        
             | solarmist wrote:
             | Oh, okay. Thank you for the explanation.
             | 
             | Yes. I totally agree with this. That's why I chose Vue as
             | well. As I've gotten into it more I've found chunks that
             | certainly feel over engineered here and there too.
        
       | _benj wrote:
       | This is such great news! I've been vaguely aware of svelte for
       | some time now but it wasn't until a few months ago that I started
       | using it professionally and it is such a joy to use!
       | 
       | I recently did an onboarding and explained why svelte instead of
       | react of vue, and svelte code, to me, is so much more intuitive
       | and clean!
       | 
       | Thanks for the awesome work Rich and best of luck in this new
       | chapter!
        
         | solarmist wrote:
         | I'd like to hear more. What were your conclusions? I'm
         | particularly interested in it compared to Vue.
         | 
         | I picked Vue because of most people's complaints about React,
         | so most of the comments I'm seeing are about specific gripes
         | with React and don't really help me make an informed opinion.
        
           | _benj wrote:
           | For React, I agree with the complaints. The change from class
           | components to functional components and the addition of hooks
           | for we was a step backwards.
           | 
           | As for vue, most of my experience is with vue 2, never really
           | spent a lot of time with the features of vue 3.
           | 
           | To the the some of the syntax of svelte makes more sense than
           | that of vue. For example, to list something in vue an html
           | with v-for is needed, or <template v-for... >. This always
           | felt a little awkward to me. In svelte you iterate on the
           | data, not on an html element. So you have an array and just
           | put {#each item i items} ... {/each}, not need for extra html
           | or pseudo <template>
           | 
           | I also prefer svelte's computed properties to vue's. All it
           | takes is a $: value = a + b and from there whenever a or b
           | changes value also changes. Sometimes my computed property on
           | vue will start growing a little too much.
           | 
           | Something similar in vue and svelte that I enjoy a lot is
           | that the code is separated from the html and from the style.
           | Some people are fans of JSX but I can't stand it! It allows
           | me to shoot myself in the feet and I do it way too often.
           | 
           | The store is VERY VERY nice too! it's lighter than vuex but
           | seems to have some of the limitations that redux/mobx have,
           | say, it has to be functional. I haven't had to write any
           | reducers like with redux tho, but stuff like [].push() won't
           | update.
           | 
           | Overall I really really like it because it's almost
           | transparent. I really didn't have to "learn" svelte as I had
           | to vue or react. It was similar enough to HTML/CSS/JS that it
           | took no time picking it up.
           | 
           | But, that's just me
        
       | ummonk wrote:
       | I like React's opinionated top-down model (with callbacks passed
       | downwards as needed either directly as props or through a store /
       | context) for handling state changes, as this improves
       | composability and ability to reason about state.
       | 
       | My understanding is that Svelte's main difference from React is
       | that it is not opinionated in this way, and this is considered a
       | positive feature by its proponents. Is my understanding
       | incorrect?
        
       | ravenstine wrote:
       | Awesome news! Having worked with frontend frameworks for years,
       | I've grown pessimistic about them in general, but I'm
       | enthusiastic about Svelte because it does so many things _right_
       | that actually avoid a lot of the issues other frameworks claim to
       | solve but actually make worse.
       | 
       | Interacting with the Svelte compiler is ridiculously easy. Though
       | the documentation can be improved, I found it trivial to import
       | the Svelte compiler and prerender a component into an HTML
       | string. Yes, this is somewhat of a niche thing to do, but I
       | appreciate it when libraries and frameworks make it easy to
       | access its internals. Heck, I pretty easily managed to implement
       | Typescript support for Svelte components using Deno's `emit`
       | function; hooking into Svelte's preprocessing was trivial, the
       | complexity I ran into being on the Deno side.
       | 
       | Contrast that with Ember, which seems to have an attitude of "no
       | one would or should ever want to do _that_ ", making it really
       | hard to do anything slightly off the beaten path without lots of
       | trial and error or entering the Ember inner-circle.
       | 
       |  _Yes, I know I 'm comparing a component library to a framework,
       | but what I'm commenting on is more about development philosophy._
       | 
       | It's good to hear the creator of Svelte will be able to dedicate
       | his time to it and be able to provide project guidance. I think
       | he has the right vision for what Svelte should be.
        
         | cobertos wrote:
         | Ember was the first framework I used and also the most
         | frustrating. At least with Vue and React I can poke at the
         | internals and they make sense, but Ember's internals had so
         | many oddities that thoroughly confused me.
        
           | ravenstine wrote:
           | What I like about Ember is that it gives a lot of rigid
           | structure that, at least at one point, made it comparatively
           | easy to work on multiple Ember based projects and be
           | productive sooner.
           | 
           | As you've pointed out, a problem with that project is that
           | there's a ton of intimate knowledge for how things work under
           | the hood or why things are the way they are. They also seem
           | to oscillate between opting for simplicity and opting for
           | complexity and magic.
           | 
           | One example would be the latest version of Ember which
           | doesn't even ship with `@ember/render-modifiers` by default
           | despite how everyone will end up installing it out of
           | necessity anyway.
           | 
           | Why might that be, you may ask?
           | 
           | > [...] we recommend using these modifiers with caution. They
           | are very useful for quickly bridging the gap between classic
           | components and Glimmer components, but they are still
           | generally an anti-pattern.
           | 
           | https://github.com/emberjs/ember-render-modifiers
           | 
           | Why on earth did they reinvent components and ship them
           | without providing the supposedly correct way of interacting
           | with their lifecycle? You actually have to install a separate
           | add-on to develop a production-ready app with Ember, which
           | completely flies in the face of the idea that you can run
           | `ember new` and have pretty much everything you need. Go
           | ahead and try interacting with individual elements of a
           | Glimmer component in a vanilla Ember project and see how
           | productive and ambitious your web app will be.
           | 
           | Strangely (and thankfully), the RFC for what I think is a
           | needlessly complicated alternative for lifecycle interaction
           | is effectively stalled:
           | 
           | https://github.com/emberjs/rfcs/pull/567
           | 
           | By their own verbiage, the only official way to interact with
           | component/element lifecycle is an _antipattern_.
           | 
           | So far Svelte and SvelteKit are avoiding all that extra crap.
           | The day that Svelte calls its own solutions "antipatterns"
           | and spends years pontificating things like the actor pattern
           | will be a sad one.
           | 
           | /rant
        
           | sxiao wrote:
           | This is so HN, in an Svelte thread memories from Ember
           | (sharing your sentiments though).
        
             | ravenstine wrote:
             | HAHAHA
             | 
             | I try not to go full HN, but sometimes you do.
             | 
             | And I shouldn't have made it about that. As I get older I
             | the more I just get tired of extra things. There's always a
             | price when you add more things. Svelte technically does add
             | things, but I think it has better bang for its buck. The
             | fact it doesn't pointlessly impose OOP constructs upon the
             | end-developer is a big win for me.
        
               | sxiao wrote:
               | Yeah, Svelte is pure gold.
        
         | leerob wrote:
         | What could be improved in the documentation?
        
         | brightball wrote:
         | I'm definitely curious about it. I'm one of those "swore off
         | frontend framework" people who's attracted to tools like
         | Phoenix Liveview so I never have to deal with it.
         | 
         | Svelte does look pretty sharp and simple though. I wonder how
         | well it works with something like LiveView? Does it really
         | depend on the styling structure mentioned or can I use it with
         | Tailwind?
        
           | dceddia wrote:
           | It works great with Tailwind, I'm doing that in a project
           | right now. I haven't tried pairing Svelte with LiveView and
           | I'd worry they would end up fighting over elements of the
           | page, but I'd think you could have them control separate
           | parts of the same page, or have them controlling distinct
           | pages just fine.
        
         | sxiao wrote:
         | Why is this 'awesome news' for us devs, the market and
         | competition if one vendor now controls all modern SSR
         | frameworks plus significant parts of the tool chain (swc)?
        
           | afavour wrote:
           | Does Vercel actually "control" Svelte, though? The existing
           | governance structure is untouched, they're just paying the
           | salary of the lead (and definitely not only) developer.
        
             | sxiao wrote:
             | Not sure if this topic is worth our time to debate. There
             | are millions of ways of subtly controlling/influencing
             | entities. And it's much easier if you pay money, ESOP and
             | pay even more money if future goals and exits come alive.
        
               | DonHopkins wrote:
               | The Zope Corporation hired Guido van Rossum to work on
               | Zope for three years (a Python web application server and
               | content management system), then he moved on. That didn't
               | destroy Guido, or Zope, or Python.
               | 
               | https://en.wikipedia.org/wiki/Zope
               | 
               | https://en.wikipedia.org/wiki/Guido_van_Rossum#Work
               | 
               | >He has worked for various research institutes, including
               | the Centrum Wiskunde & Informatica (CWI) in the
               | Netherlands, the U.S. National Institute of Standards and
               | Technology (NIST), and the Corporation for National
               | Research Initiatives (CNRI). From 2000 until 2003 he
               | worked for Zope Corporation. In 2003 Van Rossum left Zope
               | for Elemental Security. While there he worked on a custom
               | programming language for the organization. From 2005 to
               | December 2012, he worked at Google, where he spent half
               | of his time developing the Python language. In January
               | 2013, he started working for Dropbox. In October 2019,
               | Van Rossum officially retired before coming out of
               | retirement the following year to join Microsoft.
               | 
               | Guido and Rich are both uncontrollable forces of nature!
        
               | afavour wrote:
               | Even if Vercel came out and said "we've bought Rich
               | Harris's voice, every choice will be controlled by us"
               | (which they haven't!) they _still_ wouldn't control the
               | project because Rich isn't a BDFL.
        
               | sxiao wrote:
               | Good point and I agree about Rich but I rather trust
               | healthy markets and competition more than people.
        
               | ahevia wrote:
               | Wouldn't Vercel benefit from being the defacto platform
               | to deploy Next & SvelteKit apps?
        
               | sxiao wrote:
               | Yes sure and it's not Vercel's fault that there's no
               | other competitor left out there. I would have hired Rich
               | as well if I were Vercel. But the market will suffer
               | because one (and the better) player just left the market.
               | We can only blame Rich who got weak but yeah, nobody is
               | perfect.
        
               | emteycz wrote:
               | He did not leave the market and on top of that now has
               | financial safety so can work on the project 100%. That's
               | a net gain.
        
               | leeoniya wrote:
               | > We can only blame Rich who got weak but yeah, nobody is
               | perfect.
               | 
               | this comment. just wow.
        
               | ahevia wrote:
               | Calling someone weak is a personal attack. You are not
               | Rich. Don't speak for him or his attributes. Keep the
               | discussion constructive, you've already been asked in
               | this post to calm down the personal attacks even after
               | Rich gave you a kind reply
               | 
               | https://news.ycombinator.com/newsguidelines.html
        
           | [deleted]
        
       | arendtio wrote:
       | First time I took a few more minutes to look into svelte. To me
       | it looks like it could be successor of Vue.
       | 
       | Do you know of other high potential candidates?
        
       | Glench wrote:
       | Awesome. Been using Svelte exclusively for a couple years in my
       | projects and don't see myself using React ever again.
        
       | barelysapient wrote:
       | This is my first look at Svelte. It looks amazing. I hope for day
       | when front-end development is more language primitives and less
       | frameworks--what with their 'useEffectOf' and @Component's of the
       | world.
        
       | WORMS_EAT_WORMS wrote:
       | Cloudflare will regret not having a developer go-to framework for
       | their advanced Worker stuff one day.
       | 
       | I think they are waiting for someone else to build for it which
       | is IMO the completely wrong approach for the dream of the
       | serverless app. You got to own the full stack including software.
       | 
       | I can easily see Vercel becoming the pretty much only go-to in
       | this space just from the developer trust they have created with
       | Next (and now Svelte). The general getting started experience
       | between the two serverless providers is night and day.
       | 
       | One is where do I begin / how should I do this (cloudflare).
       | 
       | The other is simply code... and... go! (vercel)
       | 
       | I'll be all in on whatever Rich makes there. Been waiting for a
       | solid Cloudflare Worker framework for literally years bridging
       | front-end and back-end. Instead, we got Pages (which is cool,
       | just boring for the fun stuff).
        
         | ksubedi wrote:
         | They do have https://flareact.com/ and although it is still
         | early, it is very promising. They have used patterns from
         | Next.js so it is easy for developers to migrate.
        
           | WORMS_EAT_WORMS wrote:
           | This is not Cloudflare:
           | 
           | > Flareact is an experiment created by Josh Larson in August
           | 2020.
        
             | ksubedi wrote:
             | You are right. Sounds like they need to sponsor him!
        
         | andrew_ wrote:
         | Denoflare (https://news.ycombinator.com/item?id=29142772) is
         | compelling.
        
           | WORMS_EAT_WORMS wrote:
           | Also not Cloudflare (to my knowledge)
        
           | johanndev wrote:
           | Do you have experience with denoflare? I _really_ would like
           | to try it, but I can 't even get the basic `hello-worker`
           | sample working, see
           | https://github.com/skymethod/denoflare/issues/2
        
         | rce wrote:
         | SvelteKit has an out-of-the-box adapter for Cloudflare workers:
         | https://github.com/sveltejs/kit/tree/master/packages/adapter...
        
           | WORMS_EAT_WORMS wrote:
           | This is kind of exactly my point in not owning the full stack
           | with Serverless.
           | 
           | I'd be a bit nervous right now if I built my business / app
           | on that.
        
           | mwcampbell wrote:
           | I hope that Rich joining Vercel doesn't end up compromising
           | SvelteKit's current neutrality when it comes to deployment
           | targets.
        
             | benmccann wrote:
             | As a heavy contributor to SvelteKit, I can't see a loss in
             | neutrality happening. I personally use other hosting
             | platforms frequently with SvelteKit, both Rich and Vercel
             | have expressed they want to avoid this outcome, and other
             | SvelteKit maintainers work full-time at Vercel competitors
             | and also wouldn't let that happen ;-)
        
         | kall wrote:
         | Yes! To compete, cloudflare really needs a nicer "full-stack"
         | experience where you have one repo, one config file, one CLI
         | and one codebase that is shipped automatically into pages and
         | however many workers, dns rules, kv stores, durable objects,
         | Images and Stream deployments etc. They have Wrangler but it
         | doesn't really feel "complete". At least they should rename it
         | to cloudflare-cli and cloudflare.toml.
        
         | friedman23 wrote:
         | Vercel is built on cloudflare workers meaning vercel winning
         | means cloudflare wins. Also I think building out the
         | datacenters across the globe is a much harder problem than
         | building out a framework.
        
           | leerob wrote:
           | Vercel's infrastructure is multi-cloud, primarily using AWS.
           | We're currently using Workers specifically for Edge Functions
           | (https://vercel.com/edge).
        
             | sva_ wrote:
             | That animation in the background could use a little
             | optimization. It's redrawing nonstop for no reason. Left
             | the site open for a few mins and it got my humble
             | Thinkpad's fans going hard (Vivaldi).
        
               | leerob wrote:
               | Thanks for the feedback, we'll improve this!
        
           | rabaut wrote:
           | Do you have a reference for this? Curious to learn more. I
           | thought Vercel was built on AWS.
        
           | lmeyerov wrote:
           | making a framework popular is harder than making data center
           | stuff; people successfully rack boxes and crank rust/go/js/..
           | every day, but most js frameworks fail
        
           | [deleted]
        
         | blackandsqueaky wrote:
         | Cloudflare currently markets successfully to a very different
         | calibre of engineer. Meanwhile, Vercel don't even support 2FA
         | login yet, and publish mandatory cache-busting query string
         | parameters to the public Internet. Their "CDN" is a BYOIP range
         | running on AWS Global Accelerator
        
           | Rauchg wrote:
           | Hey! Guillermo, CEO of Vercel here. Security is the absolute
           | top priority at Vercel, and you should be seeing continued
           | progress in that area in the coming weeks and months.
           | 
           | We're heavily investing in security all the way from the SDK
           | and its supply chain[1] to platform, product and cloud.
           | 
           | We proudly use the best infrastructure and products available
           | to help our customers scale without stress. AGA is quite
           | incredible[2] and so is Cloudflare[3] and we are honored to
           | be able to work closely with the purveyors of the finest
           | infrastructure on the Internet!
           | 
           | [1] https://news.ycombinator.com/item?id=29003089
           | 
           | [2] https://news.ycombinator.com/item?id=29158742
           | 
           | [3] https://twitter.com/swyx/status/1456665048949018626
        
             | kadomony wrote:
             | Hey Guillermo,
             | 
             | Thanks for chiming in here. Unrelated, I saw that Vercel is
             | ramping up hiring for designers. I've always worked in
             | consumer-facing design spaces (banking, travel, etc.) and
             | want to make a change toward something more dev-oriented
             | like Vercel, but I worry being told that "I don't have the
             | right experience". Does Vercel hire folks looking to change
             | the industry they design for? I'm a senior IC in design
             | systems, so the extent of what I design for devs is mainly
             | documentation sites.
        
               | Rauchg wrote:
               | Absolutely. A core goal for us is to Lower the Barrier of
               | Entry[1] to building for the Web.
               | 
               | Building a beautiful and fast Web experience needs to
               | feel myspace-code-easy (or as Rich Harris puts it: it has
               | to be fun!). I think ultimately that's what makes the Web
               | win long term. It's open and accessible.
               | 
               | The best way to contribute to this mission is to come in
               | with a fresh mindset, passion and big ambitions. Please
               | reach out: https://vercel.com/careers
               | 
               | [1] https://rauchg.com/2021/making-the-web-
               | faster#realtime
        
         | systemvoltage wrote:
         | I predict that Cloudflare will acquire Vercel one day.
        
           | admn2 wrote:
           | I do think it's interesting how they've positioned Cloudflare
           | Pages. Kind of an "Amazon" move. Unlimited bandwidth and
           | seats. Will be interesting to see though if it works for
           | Cloudflare, they still don't even have Gitlab integration.
        
             | deltron3030 wrote:
             | The 25mb limit in folder size isn't enough for mid-sized
             | blog though, even if you host the images somewhere else.
        
           | WORMS_EAT_WORMS wrote:
           | I think an executive has commented before that is not going
           | to happen. Things can change though.
           | 
           | If I were Vercel, absolutely would not sell either. They
           | aren't like "Netlify" and positioned to be truly the goat of
           | serverless.
        
             | skrebbel wrote:
             | > They aren't like "Netlify"
             | 
             | What do you mean by this?
        
       | sholladay wrote:
       | Rich Harris has done a lot of great work. Until esbuild came
       | along, Rollup was the only sane JS bundler for those of us who
       | can't stand Webpack. Svelte has some interesting concepts, albeit
       | I am planning to stay with React. His code is always interesting
       | to read.
       | 
       | Then there's Vercel. I was a big advocate for them years ago,
       | back when they were Zeit. I used them in production at multiple
       | companies and I contributed to their CLI to improve its error
       | handling. But they really screwed me as a vendor with changes to
       | their hosting platform and then again with changes to their
       | authoritative DNS service. They broke every promise or
       | expectation they ever set with me and reversed practically every
       | facet of their original philosophy as a platform. They are
       | bordering on being on my "never again" list. I hope Rich is
       | genuinely able to stay independent creatively.
        
         | enumjorge wrote:
         | Maybe I'm misreading your comment, but Richard Harris did not
         | create esbuild. Evan Wallace, co-founder of Figma, is the
         | person behind it.
        
       | kevinak wrote:
       | This is such amazing news! Betting on Svelte was the best thing
       | ever for both my career and sanity. I'm now heavily involved in
       | the Svelte community and next Saturday we'll be hosting our
       | fourth conference solely dedicated to Svelte.
       | 
       | If you're interested in checking it out the URL is here, it's
       | free and will be streamed on YouTube: https://sveltesummit.com
       | 
       | There are also two watch parties that will be hosted in New York
       | (Rich will attend!) and in Mainz, Germany.
       | 
       | Links: - https://lu.ma/sveltenyc -
       | https://lu.ma/sveltesummit-2021-mainz
        
       | fidesomnes wrote:
       | I guess you could say I don't care.
        
       | MisterBastahrd wrote:
       | It'd be more fun if I could do it in something that wasn't in
       | Javascript or one of its Frankenstein cousins.
        
         | tempest_ wrote:
         | You can!
         | 
         | Elm is interesting, though it's developer is a bit polarizing
         | 
         | Also there are a host of nascent Rust/WASM frameworks starting
         | to pop up. They really like the tree puns. There is Yew,
         | Sycamore and Seed.
        
           | tormeh wrote:
           | That's still all web tech, though. Druid and Iced look more
           | interesting, as they are general UI frameworks which lets you
           | build both web and desktop apps without dealing with HTML or
           | CSS.
        
           | cutler wrote:
           | Don't forget Clojurescript.
        
         | clivestaples wrote:
         | I do React for my day job. For personal projects and MVPs, I
         | came back to Rails and it has been insanely fun. I can drop in
         | whatever frontend framework I want or none at all.
        
           | slantyyz wrote:
           | With Sveltekit, you can actually build your back end with it
           | as well. The path based routing is so nice and intuitive
           | (compared to my recollection of Rails 3.x), and if you
           | compile your SvelteKit application with the node adapter, it
           | will include a back-end server too.
           | 
           | The only catch of course, is that you have to like both
           | Svelte and NodeJS.
        
         | jhgb wrote:
         | Is there any reason why something like Svelte couldn't be
         | written in one of the lisply languages? The compiler approach
         | seems definitely like a good fit.
        
         | rglover wrote:
         | JavaScript-based but plain HTML/CSS/JS. No Mary Shelley:
         | https://github.com/cheatcode/joystick
        
       | Graffur wrote:
       | Because of redwoodjs, I've gone off Svelte a bit
        
       | joshgrib wrote:
       | I've been a fan of Svelte and Vercel for a while so it's cool to
       | see Rich working with them, and for Svelte to get more support.
       | Very excited to see what comes of this!
        
       | DonHopkins wrote:
       | I've been following Svelte, and it sounded great, so I've wanted
       | to use it for some time. Now I've finally started a project with
       | SvelteKit, and it's even better than I hoped, with extra layers
       | of greatness I didn't even realize, like pre-rendering pages, at
       | the same time as being very mobile SPA friendly.
        
         | slantyyz wrote:
         | My favorite feature of Sveltekit is probably the server-side
         | endpoints. It's so easy to create an API using them.
        
       | arberx wrote:
       | Svelte is fucking awesome.
       | 
       | Long way to go to catch up to React, but it'll get there. No
       | brainer.
        
         | Donckele wrote:
         | Yes, it is good. In many ways I hope it doesn't catch up to
         | React - it's running a different journey which I also prefer.
        
           | arberx wrote:
           | Catch up in terms of hirability/company usage.
        
             | smt88 wrote:
             | Yeah, I stupidly started some projects with SvelteKit
             | instead of NextJS and am having a very hard time finding
             | people to work on them.
        
               | lucasyvas wrote:
               | Consider trying to hire outside Svelte - Anyone that can
               | write using the major frameworks will do just fine. If
               | the problem is candidates uninterested in using it,
               | that's a different problem.
        
               | smt88 wrote:
               | This is what I've done, but it's still hard to find
               | someone who will do things in idiomatic Svelte.
        
               | _fat_santa wrote:
               | I think the problem Svelte is having in this area is
               | folks looks at it the same way they look at React,
               | Angular and Vue. All those frameworks (especially React
               | and Angular) have their own way of doing things, so you
               | have to know "HTML, CSS, JS and React/Angular".
               | 
               | I think folks think that Svelte is the same way, while it
               | does have it's own special sauce, it's nothing compared
               | to React/Angular. Like others have said, when hiring for
               | Svelte, you don't really need the candidate to have
               | Svelte experience.
        
               | [deleted]
        
               | FractalHQ wrote:
               | Have you made a post on the Svelte discord #jobs channel?
               | All job postings that go up there get gobbled up pretty
               | quickly.
        
       | cphoover wrote:
       | I'm tired of having to learn yet another templating language
       | without a very compelling reason.
       | 
       | Why do I have to learn, what is essentially, a new programming
       | language for each of these frameworks (Angular, Svelte, Vue,
       | React... Do I really need to learn yet another language construct
       | for stuff like `loops`, `if/else`, event handlers...etc.
       | 
       | Why must all of these frameworks re-invent the wheel?
       | 
       | At least with React it is most close to the languages we already
       | have learned, JavaScript, and HTML.
       | 
       | From what I can tell Svelte looks similar handlebars templating
       | with it's own unique syntax variations... I can't count how many
       | different versions of the same thing I've had to relearn again,
       | and again.
        
         | tpict wrote:
         | JSX is syntactic sugar for `React.createElement(...)` (most
         | commonly), so React pretty much _is_ plain JavaScript.
        
           | kall wrote:
           | Yeah, It's my favorite templating abstraction because I could
           | convert it by hand and so I don't really need to mentally
           | model it as an additional layer.
        
         | gaws wrote:
         | You're getting flamed on Twitter for this comment lol:
         | https://twitter.com/dancow/status/1458906853488967684
        
         | dbbk wrote:
         | React is a free for all, you can render pretty much anything
         | you want at any time. With templating languages, the DOM output
         | can be statically analyzed at build time, so the amount of work
         | needed to diff the HTML output when things change at runtime
         | can be dramatically shortened.
        
         | d23 wrote:
         | As a backend guy who moved away from frontend long ago for
         | these very reasons, I have to ask: why are people downvoting
         | this? Is it wrong? I'm genuinely asking, because from a
         | bystander's point of view, it certainly seems like the pattern
         | of the Framework Du Jour hasn't really slowed down much in the
         | frontend community.
        
           | SparkyMcUnicorn wrote:
           | I didn't downvote, but I'll speak to my experience.
           | 
           | First off, you don't have to go learning every framework out
           | there. Pick one and stick with it, or just go vanilla. That
           | said, The features these frameworks provide gives a boost in
           | productivity that far outweighs the low learning curve.
           | 
           | My pick was VueJS and I'm very happy with it. Using Single
           | File Components is pretty similar to vanilla HTML/JS/CSS.
           | Beginners that were under my guidance (with only HTML/CSS/JS
           | experience) usually pick it up and were productive in the
           | same day.
           | 
           | I disagree that React (JSX) is most similar to vanilla
           | JS/HTML at all (I don't prefer it, but to each their own).
           | Vue and Svelte are much further on the side of a vanilla-ish
           | approach.
        
             | spoils19 wrote:
             | Frontend developers like to change frameworks every week it
             | seems like, so it's in my best interest to learn every
             | framework (or at least some abstracted part of it) in order
             | to stay employable and up-to-date.
             | 
             | The problem is that each framework has their own
             | abstraction and language that you have to learn. Compare it
             | to "old-school" Java frameworks, where things were much
             | simpler and you didn't have to worry about egregious layers
             | of complexity to just render a DOM.
             | 
             | Grumble grumble
        
               | mikewhy wrote:
               | > Frontend developers like to change frameworks every
               | week it seems like
               | 
               | This sentiment is so old and played out.
        
               | 2muchcoffeeman wrote:
               | Is it false though? If it's true, then maybe we need to
               | look at why it's true.
               | 
               | It's not just front end developers though. I think other
               | domains and their frameworks went through the same thing.
               | This is just the time for front end.
        
               | winphone1974 wrote:
               | Why is no complaining that there more than one way to
               | build a php app? Perhaps because like JS it's a huge
               | ecosystem with a giant user base and millions of use
               | cases. Front end dev has lots of room to support the
               | dozen or so mainstream frameworks we've used over the
               | past decade-plus
        
               | tshaddox wrote:
               | Indeed, it's false. React is 8 years old, and when React
               | was first released jQuery was only 7 years old. I follow
               | this stuff pretty closely and I can only think of _maybe_
               | 10 JS UI frameworks that have attracted remotely
               | significant use and active development at any point in
               | the past 15 years.
        
               | vosper wrote:
               | Yes, it is false. Anyone in the space can tell you how
               | stable things have been for years now.
               | 
               | Plus, there are a _lot_ of people writing JS. It's not a
               | tiny community fracturing itself over different ways of
               | doing things, and becoming destined for obscurity. It's
               | tens or hundreds of thousands of developers. In a
               | community this big I'd say having a few choices is a sign
               | of health.
        
               | vosper wrote:
               | Agree, and it's nice to see this worn-out trope getting
               | downvoted for once. Sneering at JS / Frontend developers
               | is one of the more distasteful tendencies of HN.
        
               | spoils19 wrote:
               | Probably because it's an entire industry that is self-
               | sustaining, without really a reason for it to exist. Most
               | software can be built with regular HTML / JS / CSS
               | without some convoluted framework. Even better, let's
               | make a desktop application (when was the last time we had
               | those?!), and we can get all kinds of performance and
               | security gains without having to tack everything on to
               | the web as a platform.
        
               | winphone1974 wrote:
               | The "just build a desktop app" trope is even more played
               | out.
               | 
               | Plus you know all these front end frameworks are "just
               | HTML/ JS/CSS" right?
        
               | dmitriid wrote:
               | > Frontend developers like to change frameworks every
               | week
               | 
               | React is 8 years old
               | 
               | Vue is 8 years old
               | 
               | Svelte is the relative newcomer, at 4 years (and the
               | major third version at ~2 years).
               | 
               | The idea of "frameworks are changing every week" hasn't
               | been true in a very long time
        
               | [deleted]
        
               | jayflux wrote:
               | > Frontend developers like to change frameworks every
               | week it seems like
               | 
               | React is now 8 years old... so is Vue. What are these new
               | frontend frameworks you keep seeing?
        
               | l30n4da5 wrote:
               | > Frontend developers like to change frameworks every
               | week it seems like
               | 
               | Most of the popular frontend frameworks (Vue, React,
               | Angular, Svelte) have been around for years at this
               | point. It is like arguing Ruby on Rails vs Spring Boot.
        
               | breakfastduck wrote:
               | 'Frontend developers' like who exactly?
               | 
               | Anyone that's worked in a reasonably sized FE codebase
               | can very clearly understand that changing your framework
               | is essentially migrating a huge production DB but on
               | steroids.
               | 
               | Where exactly have you seen a team of developers change
               | their front end framework every week?
        
           | sam0x17 wrote:
           | Well in this case, it's more that svelte is the least of all
           | evils when it comes to this. React and Vue have way more
           | boilerplate and React in particular has the most framework-
           | specific stuff of them all. Svelte is much closer to pure
           | html/css, or so I'm told.
        
           | winphone1974 wrote:
           | I assume because there's no value to it. What's the opposite
           | side of the argument? You have an area with a lot of growth
           | and many problems with the way we're solving these problems
           | and something like svelte is not"completely reinventing the
           | wheel" as the OP positions it, by nature it's try to solve
           | specific problems using our existing tooling whenever
           | possible. The original post is a shallow, feel-good rant
        
           | fendy3002 wrote:
           | I've used react for some years now and it's very very hard to
           | do animation and event-driven operations with pure react
           | render. You'll need extensive lifecycle events or hooks and
           | refs to get animation or handle focus, etc well. It's due to
           | how react render the components.
           | 
           | It doesn't make react bad but I guess some newer frameworks
           | (vue, svelte, I haven't learned those yet) try to tackle this
           | from different approach.
        
           | wishinghand wrote:
           | It's a false truth that anyone has to learn yet another one
           | of these. Even Angular 1 and Backbone.js are still in
           | production.
        
             | sergiotapia wrote:
             | So is Joomla - yet I wouldn't recommend people learn it
             | today. Might as well learn COBOL and Zend Framework too.
        
           | locallost wrote:
           | It might be true, but it's a rant that just barely touches
           | the actual topic, which is mostly: a company will pay
           | somebody to work full time on an open source project that is
           | still independent. And I think it's pretty nice. And also I
           | think Rich Harris has given a lot to people for free and I'm
           | happy for him that he will be paid to work on something that
           | he loves.
           | 
           | So all in all it would be nice if we would for once be spared
           | of rants how tiring, immature, half baked whatever whatever
           | the JavaScript world is. Show us maybe how it should be
           | really done, but maybe in a separate post please.
        
           | ramesh31 wrote:
           | > I'm genuinely asking, because from a bystander's point of
           | view, it certainly seems like the pattern of the Framework Du
           | Jour hasn't really slowed down much in the frontend
           | community.
           | 
           | Perhaps not in the "frontend community", no it hasn't slowed
           | down. There will always be new frameworks coming and going,
           | and people will work on them as fun open source projects or
           | use them in their side projects or whatever. But people doing
           | real work are almost unanimously settled upon React as an
           | industry standard at this point. There's still a decent sized
           | faction of contrarian Vue holdouts, but by and large the JS
           | framework wars are over.
        
           | rglover wrote:
           | No, it's not wrong, it's absolutely correct. There's a lot of
           | flexing around who can come up with the most elegant
           | abstraction which ignores the important point: making sure
           | what's necessary to understand the framework, use it long-
           | term, and move away from it after is focusing on the core
           | technologies of the web (HTML, CSS, and JavaScript).
           | 
           | The abstractions are cool, but completely unnecessary (see
           | link to my framework above where I circumvent that problem
           | entirely).
        
           | tshaddox wrote:
           | I don't know about "wrong," but my opinion on the overall
           | theme of that first comment is that the requirement to learn
           | is not at all a bad thing. I enjoy learning new things even
           | when that is in some sense a "requirement."
        
           | lowbloodsugar wrote:
           | Didn't downvote either. Almost consider upvoting for
           | visibility of the hilarity displayed.
           | 
           | "There are too many frameworks! Why does everyone keep re-
           | inventing the wheel? _Why can 't everyone just use the one
           | that I like?_"
        
             | cphoover wrote:
             | I never asked anyone not to use svelte... I said why should
             | I be compelled to learn this new language, other than it
             | being the hot new UI framework of the day.
             | 
             | It doesn't have a virtual DOM? It doesn't have synthetic
             | events? Ok why not just use web components which provide
             | their own encapsulation and vanilla JS. I don't have to
             | learn a new language which may or may not be
             | around/supported a few years from now... Also I'm
             | continuing to grok web standards.
        
         | gherkinnn wrote:
         | You don't need to know every framework. And that little bit of
         | custom syntax is peanuts compared to how the rest of these
         | differ.
         | 
         | Even if Angular and React shared the same templating syntax,
         | you'd still be left with 95% of work ahead of you.
        
         | bryans wrote:
         | This is very overdramatic and isn't actually based on reality.
         | Svelte is far closer to vanilla JS/HTML than any other
         | framework, while also using extremely similar patterns from the
         | other modern frameworks. Yeah, it has some sugar, but it's not
         | just some templating system any more than React is just some
         | templating system, and the only "unique syntax" you could be
         | referring to is the auto-subscription to stores using $, which
         | is super convenient.
         | 
         | You're acting incredibly disinformative, and have no legitimate
         | basis for your assertions.
        
         | rglover wrote:
         | You'd like https://github.com/cheatcode/joystick.
         | 
         | No special languages or syntax. Plain HTML, CSS, and JavaScript
         | with the same reactive UI stuff in all the other frameworks.
         | It's also part of a full-stack framework so you can whip up
         | lightweight, fast apps.
         | 
         | The best part is your skills are transferrable as I'm not
         | introducing any domain-specific abstractions. You can go from
         | learning HTML, CSS, and JS to this without any "gotcha" in the
         | process.
        
         | unclebucknasty wrote:
         | The problem with each of these frameworks is that they make the
         | mistake of surfacing the underlying standards like HTML and the
         | DOM. This is why they look remarkably similar and can only
         | possibly be incrementally better, at best.
         | 
         | HTML and the DOM are still essentially modeled on static
         | documents. Building apps that deal directly with these
         | standards is an impedance mismatch that, remarkably, people
         | keep trying to solve by adhering to those same standards, but
         | in a slightly different way.
         | 
         | Why should we know or care about HTML or the DOM?
         | 
         | A robust, event-driven, component-based framework that manages
         | the low level Web standards could offer true advancement.
        
         | hijodelsol wrote:
         | For me Vue 3 with <script setup> get's pretty close to pure
         | JavaScript/TypeScript. 90% of the code will be exactly like JS
         | code, the only difference being the use of computed(), ref()
         | and reactive() to achieve (something JS simply doesn't provide
         | but is necessary for every non-trivial application). Your HTML
         | code and CSS code are not mixed with JS and look and feel like
         | the real thing as well. Other than the reactivity indication
         | and the occasional onMounted(), etc. Vue 3 with <script setup>
         | does away with all boilerplate and unidiomatic parts of Vue 2
         | and imo is the framework that most closely resembles pure
         | HTML/CSS/JS while allowing for far greater productivity.
        
           | kall wrote:
           | Are we still taking about vue <template>? I don't see how
           | that is any way close to html when it has: custom conditional
           | and loop syntax and semantics, arbitrary js expressions and a
           | unique concept of scope?
        
             | Drew_ wrote:
             | It does have extra non-native features but the overarching
             | <template />       <script />       <style />
             | 
             | format for single file components is plain HTML which makes
             | it feel closer to vanilla than React.
        
               | kall wrote:
               | Yeah I never really understood this benefit. The file
               | structure is irrelevant to me after 15 minutes, the
               | nitty-gritty semantics of my code are causing me
               | headaches and bugs forever.
               | 
               | (I like working with all 3 current frontend frameworks
               | btw, not trying to start a flamewar)
        
               | Drew_ wrote:
               | I like it because it separates layout, styling, and
               | scripting while still collating them in the same file.
        
         | tootie wrote:
         | Any new language/framework trying to sell me on it's improved
         | ergonomics should not bother showing me syntax and instead show
         | me a stack trace. Vue is really concise and expressive but
         | seeing a pile of node internals on every typo is infuriating.
        
         | Tarks wrote:
         | Agreed, I thought we were past this with the 4th generation of
         | these frameworks, this is like knockoutjs all over again.
         | 
         | The moment the penny dropped for me was when I read something
         | like this about React:
         | 
         | "We realised that inventing our own Yet Another Binding
         | Language that was less expressive than javascript was harder
         | and worse than doing the work to put the relatively simple HTML
         | constructs into Javascript"
        
         | chrbp wrote:
         | No one says you have to learn new languages or frameworks. It's
         | really your own choice.
        
         | jitix wrote:
         | I used to be full stack before the re-invention of wheel
         | phenomenon got way out of hand in the js world. Keeping up with
         | what's going on with the ecosystem and employing the best
         | practices became a huge chore that took time away from solving
         | actual business problems.
         | 
         | Turning away from front end let me concentrate time on learning
         | devops, cloud, ml and other things that aren't as volatile in
         | terms of design patterns and that lets me design more high
         | level solutions to problems and create more overall value.
         | 
         | Maybe people just differ in how wide or deep information they
         | could handle but I certainly can't keep up with such a wide
         | array of patterns and tools that do the same thing.
        
         | travisl12 wrote:
         | My solution is pretty easy to this problem: I don't.
        
         | danny_taco wrote:
         | I completely agree with you, and I've yet to see a compelling
         | argument against this. I've been doing this since the rise of
         | the SPA, all the way from vanilla, jQuery, Backbone, Angular
         | 1.0, Ember and React and after reading your comment all I can
         | think of is "great, we're going back to handlebars templating
         | again".
         | 
         | There is no net-gain in re-inventing the wheel. It just becomes
         | yet another thing to master to stay relevant. In a decade of
         | doing JS front-end applications things have only gotten more
         | complex and more time-consuming.
         | 
         | Thankfully I've found a sweet spot where complexity, velocity
         | and quality are in balance using technologies considered no
         | longer cool and that's fine with me. I get to focus on the
         | actual problem at hand instead of trying to figure out the
         | inner workings of this new shiny thing.
        
         | [deleted]
        
         | brundolf wrote:
         | I don't love that aspect myself, but I have to point out that
         | in Svelte's case it is definitely not "without a very
         | compelling reason". The special build-time processing is the
         | entire point of Svelte.
         | 
         | Though personally I'd almost prefer it was a whole new language
         | than a "kind of JS but with some (necessarily) new syntax"
        
         | RoboticWater wrote:
         | For all the use cases I deal with on a regular basis, Svelte
         | looks more like vanilla HTML/JS than any equivalent React code.
         | 
         | And the reason these things change is because _that 's what
         | needed changing_. One of the topline features of Svelte is that
         | is has less boilerplate than React, and it achieves that quite
         | handily. Unless you're criticizing particular constructs in
         | Svelte that are unjustifiably different, I don't think
         | unfamiliarity is that damning a criticism.
         | 
         | Maybe I'm just used to switching up languages on a regular
         | basis, but the idea of having to learn different language
         | constructs for loops and the like doesn't seem that herculean
         | of a task.
        
           | fron wrote:
           | > but the idea of having to learn different language
           | constructs for loops and the like doesn't seem that herculean
           | of a task.
           | 
           | I agree. As long as you understand the basic concepts, it's
           | only a matter of learning the syntax, which is really not as
           | big of a deal as the person you replied to is making it out
           | to be.
        
             | cphoover wrote:
             | It's not a herculean task... I agree, until you've learned
             | 10+ (angular, vue, svelte, wordpress/php, jade templates,
             | laravel, underscore/lodash, handlebars/mustache, hugo,
             | etc..) of these "super simple templating languages"! And
             | keep them all straight. I have no problem learning a new
             | language if there is a compelling reason. But If it's just
             | additional shit I have to remember for no clear reason...
             | No thanks...
             | 
             | We can have a debate on unidirectional data flow vs 2-way
             | binding, how each framework manages state changes, how
             | opinionated each framework is... How mature and vibrant
             | each developer community is... etc. These are all another
             | discussion though. My question is why must we reinvent the
             | wheel again and again.
        
               | bryans wrote:
               | You need to stop insisting that a wheel has been
               | reinvented with Svelte. It shares 95% of the same DNA as
               | other frameworks, with multiple improvements over them.
               | So with that in mind, what you're actually suggesting is
               | that the existing offerings were somehow perfect, and we
               | don't ever need to improve on anything again. That is an
               | absurd notion, especially given that the other frameworks
               | have gone through MASSIVE changes since launch --
               | sometimes even complete rewrites, because they
               | acknowledged they got it wrong the first time.
        
           | nnoitra wrote:
           | What boilerplate does React have? Do you mean Babel?
        
             | cphoover wrote:
             | I know...
             | 
             | This comment had no context...
             | 
             | You don't have to even                   import React from
             | 'react';
             | 
             | anymore
        
           | cphoover wrote:
           | What how can you say that???
           | <ul>{myItems.map({id, title}) =>                <li
           | key={id}>{title}</li>           }</ul>
           | 
           | vs... svelte                    <ul>{#each myItems as item}
           | <li>{item.title}</li>          {/each}</ul>
           | 
           | One is literally just javascript and html the other is an
           | entirely different template language. You might say... JSX is
           | not HTML... well it's very very similar... If you know HTML
           | you JSX is very intuitive.
        
             | pier25 wrote:
             | Objectively, the Svelte example is cleaner and easier to
             | read.
        
               | kosolam wrote:
               | Subjectively, I'd say. But since I agree that it's
               | cleaner and easier to read- I upvote you
        
               | spoils19 wrote:
               | By what metric are you measuring it objectively?
        
               | pineconewarrior wrote:
               | density.
        
               | epolanski wrote:
               | Saying it is objective but not mentioning the reason
               | really makes your statement subjective.
        
               | diegof79 wrote:
               | The issue is not only the syntax, but the semantics. What
               | happens to the scope when you nest #each expressions?
               | Does it work with iterables (like for..of), or it behaves
               | like for..in? I don't use Svelte, and I don't know those
               | differences by reading the code. To me the nice thing
               | about JSX is that is straight forward with JS semantics:
               | const a = <div prop={expression()} />
               | 
               | is a DSL for:                  const a = factory('div',
               | {prop: expression()})
               | 
               | is only a DSL to create tree structures (React is another
               | story, you can use JSX without React).
        
             | subpixel wrote:
             | I grant that it isn't Javascript and you have to get
             | familiar with it. But at least it's not Hugo templating.
        
             | ksdnjweusdnkl21 wrote:
             | Seems like svelte is superior for not needing a key.
        
               | winphone1974 wrote:
               | The key is used by the shadow Dom for update performance;
               | the is no shadow Dom in svelte
        
               | cphoover wrote:
               | fair criticism I wonder how svelte optimizes for
               | rerendering of long component lists. React uses keys to
               | avoid rerendering the entire list.
        
             | benmccann wrote:
             | But React isn't just JSX. It's also the entire runtime
             | library, hooks, event handling, forms, state handling, etc.
             | The example you shared is a bit too simple to understand
             | where Svelte shines because it doesn't introduce any of
             | those concerns.
             | 
             | By having it's own templating language, Svelte is able to
             | compile the templates to JavaScript in a way that addresses
             | many of those concerns in a way that I think it easier to
             | deal with as an end user of the framework.
             | 
             | If Svelte were using JSX, I don't know that it'd be
             | possible to do everything else that it does so simply
             | because you can write anything that's valid JavaScript in
             | JSX whereas Svelte has just a couple of basic control
             | structures that its compiler can parse and convert to
             | runnable code.
        
               | [deleted]
        
               | [deleted]
        
               | noir_lord wrote:
               | Not to mention it takes reactivity to new heights while
               | adding amazingly little actual syntax.
               | 
               | When property changes, the fetch refires, loading appears
               | until the fetch resolves then it displays whatever array
               | someFetch resolved to.
               | 
               | I came from Vue and that plus the way Svelte does stores
               | (literally nothing special about them) was a breath of
               | fresh air.                   <div>             {#await
               | someFetch(property)}
               | <div>Loading...</div>             {:then data}
               | {#each data as item, index}
               | <div>{item}</div>                 {/each}
               | {/await}         </div>
        
             | makeramen wrote:
             | > If you know HTML you JSX is very intuitive.
             | 
             | That's a poor assumption that appears to be based on your
             | personal preferences and what you're comfortable with. I
             | personally find both require some learning, but prefer the
             | svelte version.
        
               | DonHopkins wrote:
               | And JSX isn't JavaScript and it isn't HTML, and if you
               | know JavaScript and HTML you still don't know JSX, so
               | you're still using "yet another language" in addition to
               | JavaScript and HTML.
        
               | hunterb123 wrote:
               | JSX is JS. Nested brackets are simply converted to nested
               | function calls & objects, attributes convert to
               | properties.
               | 
               | This is evident when comparing conditionals, loops, etc.
               | Instead of learning template syntax you simply use JS
               | syntax, albeit a declarative subset (no branches).
               | 
               | JSX is simply syntactical sugar for nested JS, you can
               | use it without, but it's prettier with.
               | 
               | One could add this syntactical sugar natively to the
               | language spec, in fact E4x (ECMAScript for XML) share
               | some properties w/ JSX and was once proposed to the spec.
               | 
               | edit: instead of downvoting, please voice how you
               | disagree with my assessment
        
               | cphoover wrote:
               | I agree 100%... Adding JSX to the language spec would be
               | interesting. It might be too heavy to include within the
               | language spec as many JS applications do not involve the
               | DOM at all, so then you have to essentially bundle DOM
               | functions into every application... or common.js would
               | omit this subset of the language.
        
               | hunterb123 wrote:
               | It's actually a fairly small change, the spec is here:
               | 
               | https://github.com/facebook/jsx
               | 
               | Example parser from Acorn:
               | 
               | https://github.com/acornjs/acorn-jsx/blob/master/index.js
               | 
               | No part of JSX uses the DOM, it doesn't share anything
               | with HTML.
               | 
               | The JS engine itself would need the modification.
               | 
               | Also JSX doesn't have to be for the UI, it could be for
               | dialogs for an NPC in a game, for configs, etc.
        
               | dwaltrip wrote:
               | Come on... If you know JavaScript and HTML you are 95% of
               | the way to being fluent in JSX. It's basically just
               | JavaScript expressions.
        
               | proxyon wrote:
               | JSX is just JS with brackets instead of nested function
               | calls. I expected more from this community than this kind
               | of commentary.
        
               | alvarlagerlof wrote:
               | At least it's pretty much only built up of J's and html
               | instead of something entirely different.
        
               | Ambroos wrote:
               | JSX is easy to summarize as: HTML where everything in
               | curly brackets is a JS expression that gets evaluated.
               | There are some additions (prop spreading) and
               | restrictions (curly brackets apply to whole attribute
               | values and element bodies only), but they're very simple.
        
               | ricardobeat wrote:
               | And custom event handling attributes, camel casing,
               | special cases like htmlFor and className, non-standard
               | attributes being ignored except for custom elements, the
               | style attribute, the special case of checked/selected
               | properties vs attrs for form elements, key and ref
               | properties. Plus all the semantics of component updates,
               | memoizing and so on.
               | 
               | This is already far more to learn than the handful of
               | simple control structures Svelte introduces.
        
         | adamnemecek wrote:
         | The templating language is the easiest thing to learn. The
         | hardest is architecture.
        
         | block_dagger wrote:
         | This is why I have focused on backend for the last decade.
        
       | Donckele wrote:
       | Great news for everyone using Svelte - a good move by Vercel and
       | wish Rich gets more resources and freedom to continue the
       | refinement of Svelte.
        
       | kaddywampus wrote:
       | how
        
       | crummy wrote:
       | I have a stupid question:
       | 
       | The cool thing about Svelte is that it compiles your code in a
       | way so that when variables change, bindings in HTML change, but
       | only that HTML and not an entire DOM re-render. (Right?)
       | 
       | So, if this is the case, how come React couldn't do the same
       | thing? They'd lose the ability to just include react in a script
       | file, but why can't a smart compiler look at your JSX and throw
       | out the virtual DOM component, so your variables are directly
       | bound to where they're used in the HTML?
        
         | swyx wrote:
         | i did try that -
         | https://twitter.com/swyx/status/1294310598419689472 but when
         | the core team is not interested in it there's only so much i
         | want to push it on my own - rather just move to Svelte where
         | the community already gets it
        
           | travisd wrote:
           | Looks great! Seems to me that there's just not enough pain
           | around this. Ironically, React being "good enough" at
           | performance (in most cases) probably means that there's not
           | appetite for squeezing out the last few millimeters (again
           | for the vast majority of use cases -- clearly there is some
           | need otherwise svelte wouldn't exist).
        
         | samc98 wrote:
         | The React team had explorations of a compiler for React, I
         | believe -
         | 
         | https://github.com/facebook/react/issues/9223
         | https://github.com/facebook/react/issues/7323
         | https://github.com/facebook/react/issues/7324
         | 
         | I also think this is why facebook had been investing in
         | `prepack` - https://github.com/facebook/prepack
        
         | travisd wrote:
         | This might be possible in simple cases, but there are two
         | reasons I think.
         | 
         | 1. React has an ethos of being "just JavaScript" (despite the
         | JSX syntax which is purely sugar around calls to
         | React.createElement). This means the core team doesn't seem to
         | be interested in adding an extra compiler step. 2. Related to
         | the above, because React is just JS, you can do all the normal
         | and horrible things with it you can do in JS. Wanna pass React
         | elements around in context or even using global variables?
         | That's allowed. A compiler could probably handle a lot of
         | simple cases but there's a whole lot of things it wouldn't be
         | able to deal with.
        
         | fuzzy2 wrote:
         | Hm, I think this isn't possible with React. You'd have to
         | impose lots of constraints on how a component renders.
         | Currently it's basically anything goes. IMHO, the result just
         | wouldn't be React anymore.
         | 
         | In fact, Angular works exactly like this. Only the DOM nodes
         | that have bindings/directives attached are updated, the rest is
         | static during a component's lifetime. Though all this still
         | involves tons of runtime framework code.
        
         | cphoover wrote:
         | IMHO 2-way data binding isn't all that useful.
         | 
         | Because the difficult thing in UI programming is not changing a
         | field in a template when a text field updates...It's how do you
         | propagate data throughout your application while at the same
         | time limiting where changes to that data can be made. React
         | stresses that props are immutable. React is designed the
         | concept of unidirectional data-flow... so a subcomponent cannot
         | update the state passed down from it's parent, data updates can
         | only be propagated down the component tree and not the other
         | way around...
         | 
         | This is not the case in svelte:
         | 
         | App.svelte                   <script>             import Nested
         | from './Nested.svelte';              let blah = 1234;
         | function handleClick() {           blah++;          }
         | </script>              <Nested {blah} />         <button
         | on:click={handleClick}>          Clicked {blah} {blah === 1 ?
         | 'time' : 'times'}         </button>
         | 
         | Nested.svelte:                   <script>            export let
         | blah;             blah = 4321;         </script>
         | <p>This {blah} is another paragraph.</p>
         | 
         | The above will display:
         | 
         | This 4321 is another paragraph.
         | 
         | [Clicked 1234 times]
         | 
         | Because the child is able modify the state of it's parent...
         | because of this state updates can be made anywhere in the
         | component tree...
        
         | dbbk wrote:
         | I actually think Ember/Glimmer happens to have the best
         | implementation of this, where their diff can be incredibly
         | optimised because they know the semantics of the template and
         | can just skip all work on static elements and attributes that
         | never change.
        
       | keb_ wrote:
       | This is awesome. Next.js is garbage so hopefully SvelteKit gets
       | all the love and attention from now on.
        
         | _fat_santa wrote:
         | My biggest issue with NextJS is next/image vendor locks you
         | into Vercel.
        
           | bradleyg_ wrote:
           | You can use netlify-plugin-nextjs -
           | https://github.com/netlify/netlify-plugin-
           | nextjs/blob/v3/doc... to host on Netlify.
           | 
           | And of course any regular NodeJS server works with next/image
           | - https://nextjs.org/docs/deployment#other-hosting-options
        
           | leerob wrote:
           | `next/image` works self-hosted (it uses either Squoosh or
           | optionally Sharp) as well as with any third-party solution
           | you want. Vercel is just one choice!
           | 
           | https://nextjs.org/docs/basic-features/image-
           | optimization#lo...
        
       | gavinray wrote:
       | Well, this is awesome -- but fuck me: Vue is the only major
       | player not under the Vercel umbrella now, haha.
       | 
       | Looks like I might have to phone in half a decade of experience.
       | 
       | Svelte is close enough to Vue with "script setup" mode anyways,
       | the major difference is whether your logic/keywords go INSIDE the
       | HTML tags or OUTSIDE.
       | 
       | Svelte doesn't support JSX/TSX though =(
        
         | ravenstine wrote:
         | If no one has managed to add JSX, I believe it would be
         | feasible to implement. The Svelte compiler is pretty straight
         | forward to interact with. However, I have little experience
         | with the semi-standard build toolchain for Svelte that most
         | people are using. You would of course need to import React.
        
         | leerob wrote:
         | Lee from Vercel here. The governance of Svelte isn't changing -
         | it's still the same independent, open-source project and
         | community. We're just supporting Rich and helping the project
         | grow!
        
           | gavinray wrote:
           | Absolutely, but in my mind this means Rich/Svelte have been
           | "blessed", and I've built enough Next.js apps to know that
           | you aren't going to find a better Dev UX/superior experience
           | to what Vercel is providing.
           | 
           | Benefits of being a framework owned by a business that makes
           | a lot of money off of it.
           | 
           | Next.js 12 as any indicator, I'm just going with whatever
           | falls under the Vercel umbrella now -- I can tell you that
           | Nuxt is not a competitor (as an unbiased voice and someone
           | who doesn't particularly love React).
        
           | _benj wrote:
           | Glad to see you here Lee!
           | 
           | > We're just supporting Rich and helping the project grow!
           | 
           | I'll admit that I have a negative bias towards this... in
           | spite of Basecamp+RoR, Mozilla+Rust, or all the great OSS
           | HashiCorp makes, it's still hard for me to believe that
           | business do anything out of the goodness of their heart.
           | 
           | Is there a strategic goal for hiring Rich? is it that Svelte
           | is used so much in house that it only made sense to support
           | it? Is it to get more cred with developer by supporting
           | projects they love?
           | 
           | Again, sorry if this question is to skeptic and cynical... I
           | love to be wrong on this! :)
        
             | leerob wrote:
             | https://news.ycombinator.com/item?id=29192174
        
           | sxiao wrote:
           | > The governance of Svelte isn't changing
           | 
           | This is the standard narrative when OSS contributors got
           | hired but ok, I'd write the same.
           | 
           | But then just tell us what was the motivation of Vercel's
           | shareholders and CEO to acquire Rich for such a high price
           | (he is the compensation and ESOP you pay absolutely worth)
           | but what's your gain? "Just supporting Rich and helping the
           | project grow" or just buying him out of the market?
        
             | Rauchg wrote:
             | On a high level: if Svelte succeeds, the Web succeeds and
             | Vercel succeeds.
             | 
             | More concretely: we want Rich to help shape Vercel's
             | support for frameworks as an open platform. We want to hear
             | how, as a framework creator, the platform can best serve
             | him. We project this work will have ripple effects like
             | making Astro or Remix better on Vercel, or the next
             | framework _you_ invent. You 'll hear about this work soon.
             | 
             | We want to hear what edge infrastructure would make Svelte
             | the fastest for developers _and_ visitors. We want to also
             | help him build a better Svelte by connecting him with
             | customers who are betting on it in production. We want to
             | learn from his DX expertise so that we can make better
             | products.
             | 
             | We are very excited about this and we think betting on Open
             | Source for the SDK together with an Open Platform for
             | infrastructure is the only way to succeed in our space.
        
         | Keats wrote:
         | > Svelte doesn't support JSX/TSX though =(
         | 
         | You have https://www.solidjs.com/ that does
        
           | protonimitate wrote:
           | Admittedly I haven't followed Svelte super closely, but isn't
           | "no JSX/TSX" kind of a major ideological point? From reading
           | the intro docs, it seems like separation of js/css/html is a
           | selling point. JSX/TSX would contradict that, no?
           | 
           | Just wondering if my read is correct or if there's some other
           | reason it's been left off the table.
        
             | nicoburns wrote:
             | Nobody truly separates JS from HTML. You either have to put
             | something HTMLish in the JS, or something JSish in the HTML
             | (HTML itself supports this of course).
             | 
             | IMO the HTML-in-JS solutions (i.e. JSX) are superior to the
             | JS-in-HTML solutions (e.g. Angular/Vue Templates) because
             | they put the standardised turing-complete language in the
             | driving seat rather than the propriety, hard to extend
             | template language.
        
             | swyx wrote:
             | it is. HTML is the first language of the web, not JS - this
             | is why framework agnostic libraries are so much easier to
             | use with Svelte than with React.
        
           | gavinray wrote:
           | Solid is really cool, and I love the posts by it's author
           | describing the journey to performance that is some years old
           | now.
           | 
           | But what is unique about Vue is that it lets you arbitrarily
           | mix ".vue" and ".jsx/.tsx" files in the same project.
           | 
           | So if you need to define say 50 really tiny helper
           | components, like "Button", "Modal", etc. it's great.
           | 
           | I can write one TSX file and do:                  //
           | UtilComponents.tsx        export function Button() {}
           | export function Modal() {}        export function Icon() {}
           | 
           | And then in my .vue file I can do:                  <script
           | setup lang="ts">        import { Button, Modal, Icon } from
           | "./UtilComponents"        // ...        </script>
           | 
           | This is not a popular approach, almost nobody uses Vue's
           | JSX/TSX and I'm not sure if people even know you can mix and
           | match arbitrarily like this.
           | 
           | But I've been doing this for a long time and it works great
           | for me haha.
        
             | richeyryan wrote:
             | This is a really cool idea. This has always been my biggest
             | beef with single file components. It never occurred to me
             | that you could do this with Vue. Thanks for the tip
        
           | pjungwir wrote:
           | I've been using Solidjs the last month for a project, and I
           | really like it. Small bundle size, super fast, not much to
           | learn, not too much magic, lots of control. Basically instead
           | of having a vdom the framework is able to track finer-grained
           | reactive sites and update those when the data changes.
        
         | [deleted]
        
         | rglover wrote:
         | Check out what I'm working on. I'm staying indie indefinitely:
         | https://github.com/cheatcode/joystick.
         | 
         | No JSX or other templating languages, just plain HTML.
        
         | pier25 wrote:
         | > Svelte doesn't support JSX/TSX though =(
         | 
         | It actually supports the next best thing: HTML!
         | 
         | Now in all seriousness, JSX does have its benefits like being
         | able to write a small function that returns a piece of JSX. But
         | in my experience, using Svelte is a huge productivity booster
         | than I don't mind losing JSX's benefits.
        
         | systemvoltage wrote:
         | I love Vue because I come from a bygone era of HTML +
         | sprinkling jQuery as needed. 99% of the websites don't need a
         | full blown JS frontend but everyone is doing it, I must be
         | wrong.
        
           | GordonS wrote:
           | Well, I guess I'm wrong too then, as most web apps I create
           | are SSR (with dotnet), with a sprinkling of vanilla
           | JavaScript. Previously I used jQuery, but we're _finally_ at
           | the point where it 's not necessary.
        
           | dexwiz wrote:
           | Do you work with a designer? I'm convinced most of the push
           | for JS apps as pages is mostly perpetuated by designers who
           | don't know how the DOM works and feel the need to redesign
           | the wheel on every project. I work within a company that
           | provides a design system and a platform of hundreds of
           | generic component, but individual designers still always want
           | to push their particular vision.
           | 
           | I think if most designers took existing web elements and
           | tried to build a UI, instead of drawing an arbitrary picture
           | and asked devs to implement, we would have much less JS
           | overall.
        
             | The5thElephant wrote:
             | Product designer and HTML/CSS person here, and in my
             | experience it is the opposite. Designers and front-end
             | focused people wh get a chance to work with Vue love it
             | because it actually respects basic HTML/CSS/JS and doesn't
             | encourage doing everything in JS, unlike React which
             | basically forces your hand. This makes working in Vue (and
             | Svelte) so much more accessible to people who are great at
             | HTML and CSS but not JS as much (and in my experience many
             | React devs are great at JS and terrible at HTML/CSS).
             | 
             | Designers more often know HTML and CSS over JS, so it is
             | unlikely they are the ones pushing for JS solutions. It is
             | the developers who don't know how to implement designs
             | without falling back on JS for everything who are causing
             | this paradigm.
             | 
             | That being said I blame a lot of this on design tooling as
             | well. Figma and Sketch are custom rendering engines that
             | just don't understand HTML and CSS and therefore give no
             | opportunities for designers to learn how the web works.
             | Fortunately a new generation of design tools are coming
             | that are built on HTML/CSS renderers that feel like Figma
             | but actually output usable code for devs to interpret into
             | their projects.
        
               | miguel-muniz wrote:
               | > Fortunately a new generation of design tools are coming
               | that are built on HTML/CSS renderers
               | 
               | These days I spend more time in browser devtools than
               | Figma, and honestly I'd prefer a more visual way to edit
               | code directly. Something like Webflow but without all the
               | cruft behind it. Preferably built into devtools, maybe as
               | an extension
        
             | miguel-muniz wrote:
             | Do the designers you work with have experience with front-
             | end development, or have access to your design system in
             | their design tools?
             | 
             | It sounds like an issue that can be resolved with some
             | communication
        
             | systemvoltage wrote:
             | No, we don't have a design team, we're too small for that.
             | 
             | Just that our backend is already built using Django many
             | many years ago. If I need to add some interactivity, I use
             | jQuery currently. Looked into Vue and it allows us to keep
             | everything as is in the backend and use it like jQuery.
             | 
             | I shudder everytime I need to install npm, webpack, gulp,
             | etc..all the JS tools feel super flaky, unnecessary and
             | does not inspire confidence in the tooling. That's my take
             | anyways.
             | 
             | Lot of developers don't have the priviledge of starting a
             | new project. It's an existing doctors appointment website
             | or some shit people cobbled up in PHP in 2004 that is still
             | running and we need to maintain it.
        
               | radus wrote:
               | I totally identify with your aversion to build tools, but
               | things have changed for the better in the last few years.
               | 
               | My advice would be to check out Vite, and use it with
               | Vue. I've introduced Vite/Vue2 to a pre-existing Django
               | project and couldn't be happier. I've explored a number
               | of different approaches for integrating Vite and Django,
               | and this blog had the best approach, IMO:
               | https://weautomate.org/articles/using-vite-js-with-
               | django/
        
               | gavinray wrote:
               | > "I shudder everytime I need to install npm, webpack,
               | gulp, etc..all the JS tools feel super flaky, unnecessary
               | and does not inspire confidence in the tooling. That's my
               | take anyways."
               | 
               | For context, I started doing web dev back in ES5 JS,
               | jQuery, Angular.js (1), and server-side templated HTML
               | views days.
               | 
               | I write in a lot of other languages as well, and I would
               | hear people say this and not get it. I thought to myself:
               | 
               |  _" It's not THAT bad. I think the experience is fine."_
               | 
               | Then I wrote an app recently on the JVM. Sweet jesus the
               | JS/Node ecosystem is a nightmare + house of cards.
               | 
               | The JVM and CLR (.NET) have their stuff together. I need
               | like ~10 dependency libraries to do a large project, and
               | often times they are over a decade old.
               | 
               | The tooling is on another level.
               | 
               | I don't have PROBLEMS writing TS apps, and the experience
               | is good. But some of them have a dependency tree that
               | span thousands of packages, and I've come back 2-3 years
               | later to try to run a project and had some downstream dep
               | break, and then updating fails, and then...
               | 
               | I know it's somewhat of a meme, but this is unironically
               | why I find Deno interesting. (Disclaimer: Haven't shipped
               | anything with it)
               | 
               | Especially since with the most recent release, they have
               | an option to emit Node-compatible JS bundles from Deno
               | code.
        
             | hamilton wrote:
             | I find that Svelte is the most "jQuery-friendly" of the
             | frameworks. I can easily add a single Svelte component back
             | into other wise static pages without requiring anything
             | other than a simple build tool to output the JS + css. It's
             | really the best of both worlds - sprinkle it in where
             | needed, or go whole-hog.
        
               | dceddia wrote:
               | Yeah, I really like Svelte for this. I did a whole blog
               | post this way, with little embedded animations to show
               | various operations on linked lists. Each of the
               | animations is a Svelte component, but the surrounding
               | page is just a static HTML page created from Markdown
               | (using Jekyll as the generator).
               | 
               | It's nice that Svelte components can be independently
               | mounted like that.
               | 
               | Right click > View Page Source, and scroll to the bottom
               | to see how all the Svelte components are mounted:
               | https://daveceddia.com/linked-lists-javascript/
               | 
               | To be fair, the same thing would be possible with React
               | or the other frameworks. I do like that it's only 29kb of
               | JS for all those animations though (and most of that is
               | the SVGs, I think).
        
           | romero-jk wrote:
           | You can "sprinkle" react too
        
             | lioeters wrote:
             | Yup: https://reactjs.org/docs/add-react-to-a-website.html
        
             | systemvoltage wrote:
             | Not as well as Vue.
             | 
             | Vue is just straight forward exactly like jQuery:
             | https://www.smashingmagazine.com/2018/02/jquery-vue-
             | javascri...
        
       | solarmist wrote:
       | So I'm a backend engineering, but have experience with Vue.js and
       | like it.
       | 
       | Why would I want to rethink that and try out Svelte?
       | 
       | Reading about svelte the main advantage seems to be everything
       | building to raw JS making it faster.
       | 
       | Questions:
       | 
       | Is there typescript support? I would assume, but...
       | 
       | Does this end up with smaller bundles/js files?
       | 
       | Any other major advantages?
       | 
       | From some reading syntax seems pretty similar to Vue as well.
        
         | yroc92 wrote:
         | There is typescript support.
        
           | aarpmcgee wrote:
           | The TS ergonomics still have a long way to go, imo. Typing
           | components is a little bizarre
           | -https://github.com/sveltejs/language-tools/issues/442
        
         | tropix126 wrote:
         | 1. Yes there is typescript support.
         | 
         | 2. Compared to React yes, because Svelte ships no runtime (or
         | at least a very minimal one). There is a curve though, and very
         | large apps (in the hundreds of components) will eventually be
         | overtaken by something like Preact or vue.
         | 
         | 3. No runtime means no restrictions on what they include in the
         | framework. They take full advantage of Svelte being a compiler
         | and include things like complex state management in the form of
         | stores, a built-in transition/animation system with support for
         | springs. Also the included syntax is extremely concise, if
         | you're familliar with vue it'll be fairly easy to pick up.
        
           | solarmist wrote:
           | > They take full advantage of Svelte being...
           | 
           | They? Libraries?
        
             | tropix126 wrote:
             | The Svelte core team. All of the features I mentioned are
             | included in the framework without the need of external
             | libs.
        
       | sxiao wrote:
       | Am I the only one?
       | 
       | Next just bought its biggest upcoming competitor--SvelteKit. Next
       | is the best that React has to offer but it still has flaws.
       | Svelte and SvelteKit are so awesome you cannot believe it before
       | you've built something bigger and so much ahead of the entire
       | React ecosystem. We migrated a huge/complex React app in a month
       | and the difference is night and day (performance/bundle size/dev
       | productivity). React was great but it's time to move on.
       | 
       | I'm disappointed by Rich. Instead of thinking bigger, raising
       | money (it would have been so easy, Rich, instead of doing proud
       | conference talk after talk why didn't you talk to a VC??)--he
       | just cashed out (sky-high compensation and ESOP). Not a rant and
       | to give you some background, one major reason we went with
       | SvelteKit was not to rely on the Next team. And now, I am again
       | with them...
       | 
       | Now we have a monopoly of rare, modern SSR frameworks.
        
         | 6gvONxR4sf7o wrote:
         | This is all that's wrong with open source free software. You're
         | disappointed by _how_ someone chooses to give you free stuff.
        
         | exhaze wrote:
         | Svelte and Vue got started when someone just went and did it.
         | If you think it's so important to have many competitors in this
         | space, just go and do it :)
        
         | waterglassFull wrote:
         | Feel free to make your own alternative, the world's your
         | oyster.
        
         | swyx wrote:
         | interesting that you think talking to a VC and starting a
         | startup (where he would be spending >50% time on business
         | things and be forced to come up with a monetization plan) is
         | better for svelte than getting fulltime sponsorship to solely
         | work on Svelte and working with the top tier talent at Vercel.
        
           | tnolet wrote:
           | Exactly. I think the OP does not know what it means to "raise
           | money" and go at it. It would turn that person into a full
           | time business owner.
        
         | mdoms wrote:
         | > I'm disappointed by Rich. Instead of thinking bigger, raising
         | money (it would have been so easy, Rich, instead of doing proud
         | conference talk after talk why didn't you talk to a VC??)--he
         | just cashed out (sky-high compensation and ESOP). I lost all my
         | respect. Not a rant to give you some background, one major
         | reason we went with SvelteKit was not to rely on the Next team.
         | And now, I am again with them.
         | 
         | Who the hell do you think you are? You don't know his
         | situation. You don't know anything. How do you know he doesn't
         | have a gravely ill family member and needs a steady income more
         | than he needs to "think big" about a fucking javascript
         | framework? How do you know he's not deeply in debt from a past
         | mistake? How do you know he doesn't find the tech obsession
         | with "VC" funding repugnant? No one needs sxiao's judgment.
        
           | dang wrote:
           | Please don't respond to something bad by breaking the site
           | guidelines yourself. It only makes things worse.
           | 
           | https://news.ycombinator.com/newsguidelines.html
           | 
           | Edit: your account has unfortunately been posting a lot of
           | unsubstantive comments. Worse, we've had to ask you many
           | times not to break the site guidelines. I don't want to ban
           | you, so could you please review the rules and fix this?
           | 
           | https://news.ycombinator.com/item?id=27867817 (July 2021)
           | 
           | https://news.ycombinator.com/item?id=27610150 (June 2021)
           | 
           | https://news.ycombinator.com/item?id=26683075 (April 2021)
           | 
           | https://news.ycombinator.com/item?id=25453716 (Dec 2020)
           | 
           | https://news.ycombinator.com/item?id=24445333 (Sept 2020)
           | 
           | https://news.ycombinator.com/item?id=24413377 (Sept 2020)
           | 
           | https://news.ycombinator.com/item?id=23388036 (June 2020)
           | 
           | We're really trying for a different sort of internet forum
           | here, and we need everyone to pull in the same direction to
           | have a chance of that working in the long run. The default is
           | deterioration, followed by scorched earth, followed by heat
           | death. We're trying to stave that off here, at least for a
           | while longer: https://hn.algolia.com/?dateRange=all&page=0&pr
           | efix=false&so....
        
         | rglover wrote:
         | I built this to avoid this exact problem:
         | https://github.com/cheatcode/joystick.
         | 
         | No desire to be acquired (open to investment but that's it),
         | just build a business around accompanying features/services.
         | 
         | Goal is fast, simple, and friendly regardless of your skillset.
         | No lock-in as the entire thing is a thin abstraction over
         | Node.js/Express.js and components are built using plain HTML,
         | CSS, and JS (no special languages or syntax). Also adding in a
         | lot of helper stuff so you're not stuck cobbling together
         | random packages for common stuff (i18n, form validation, etc).
         | 
         | Feel free to email me if you or your team have questions:
         | ryan.glover@cheatcode.co.
        
         | rich_harris wrote:
         | I understand this perspective! But as anyone who knows me will
         | tell you, I would be the worst person in the world to try and
         | build a business around Svelte. As others have said, the
         | expectations from investors would make it far less likely that
         | Svelte could remain a community-centric project.
         | 
         | It's important to clarify that Vercel (which has earned its
         | open source bona fides) hasn't 'bought' Svelte or SvelteKit.
         | It's more accurate to say that they're supporting Svelte's
         | development by paying for a full time engineer to work on it.
         | There's a healthy core team of developers who certainly won't
         | relinquish _their_ independence because of _my_ career choices.
         | 
         | It's fair to be sceptical about all this! But I've had multiple
         | conversations throughout this process where the importance of
         | maintaining independence was expressed by both sides, and I
         | truly believe this is the best outcome for Svelte and its
         | community.
        
           | sxiao wrote:
           | Rich, I know where you come from, and I wholeheartedly
           | believe what you say. But this is just the start of a
           | relationship between you and Vercel. And you know that
           | relationships will change over time and so on. And you
           | won't.be.independent. There is just too much money on the
           | table. Nobody will give you orders, there are much smarter
           | ways.
           | 
           | The point is, Vercel did everything right, no blame to them,
           | great CEO, awesome Tim, they are masterminds and their great
           | social media army does their best to celebrate this event in
           | all social networks atm. But you know yourself very well that
           | one player just left the market. We will face less
           | competition and possibly stagnation in some areas. This
           | doesn't hurt Vercel nor you but us.
           | 
           | Ofc you will be dependent, they pay you, you want Vercel to
           | be successful (ESOP). We will see, e.g. that Vercel will be a
           | first-class citizen as deployment option. There are many more
           | fields where Vercel can/will get a special treatment, so
           | subtly that nobody will get it. Business is more
           | sophisticated than many might think.
           | 
           | Or think this the way around, there endless possibilities to
           | drive somebody down, demotivate and degenerate him to a point
           | where he looses all his drive and motivation. Look at
           | yourself today, look how much energy and charisma you have
           | when holding speeches about Svelte. In 2 years, go back to
           | this comment and ask yourself if you are the same energetic
           | Rich, if you are happy and if sold out too early 2 year ago.
           | 
           | > I would be the worst person in the world to try and build a
           | business around Svelte.
           | 
           | No you just underestimate yourself. What are you doing right
           | now? Giving talks, writing, communicating. People, masses
           | follow you not just because Svelte is great, no because you
           | can communicate well and know how to lead people. This is
           | what a CEO is doing 99% of his day. This is building a
           | business, communicating, finding and winning the best people.
           | 
           | You found already the best people, just look in your repos
           | and look which contributors work for Svelte! And you were the
           | leader, had an as good team as Vercel and follow now...
           | 
           | And if I watch you talking there is a strong desire to be
           | more (not that a dev is less!). Whatever, I'd have expected
           | that you at least went shopping with Vercel's offer to
           | CloudFlare. I mean they do real rocket science (Durable
           | Objects) and you opt for Next which started to renovate their
           | stack (esm, swc) just recently after years.
           | 
           | Oh man, I like you too much to be too angry but yeah, not
           | happy.
        
           | sanitycheck wrote:
           | Congrats on the job, Rich! I've been using Svelte, Typescript
           | & Babel in the past couple of months to build a set of TV
           | apps targeting some fairly slow and ancient devices and it's
           | been brilliant. Totally impossible to do that with React, I
           | do know some people who tried it though.
        
         | mixmastamyk wrote:
         | The framework appears to have an MIT license and lots of
         | contributors so I wouldn't worry too much.
        
         | afavour wrote:
         | > Instead of thinking bigger, raising money (it would have been
         | so easy, Rich, instead of doing proud conference talk after
         | talk why didn't you talk to a VC??)
         | 
         | In no world would taking VC funding have been easier. They'd
         | want cash returns and hockey stick growth, and soon. So instead
         | of focusing on making the framework as good as it could be,
         | Rich's attention would be diverted.
         | 
         | When SvelteKit becomes a framework impossible to run on
         | anything that isn't a Vercel platform, then maybe I'll be
         | outraged. Until then, subjecting an incredibly talented
         | developer to the day-to-day whims of VCs seems like just about
         | the worst outcome for everyone.
         | 
         | I don't normally mean to sound uncharitable but your original
         | comment is pretty uncharitable to Rich, so: if you want a
         | stable platform that will live for many years to come, the
         | absolute last thing you want is for it to take VC investment.
         | That you don't see this speaks volumes to your understanding of
         | how any of this works.
        
           | sxiao wrote:
           | > In no world would taking VC funding have been easier.
           | 
           | Did I say that? Or that Rich should have taken the easier
           | path? No, everyone should always take the harder path. But
           | this is a deeper discussion.
           | 
           | > I don't normally mean to sound uncharitable but your
           | original comment is pretty uncharitable to Rich,
           | 
           | But your tone towards me is better?
           | 
           | > That you don't see this speaks volumes to your
           | understanding of how any of this works.
           | 
           | If you think so, fine, but I'm pretty sure that I've raised
           | more money and more rounds than you but this shouldn't
           | qualify me to be right or wrong. I focus on what you write
           | and what I've written and I think I brought good arguments
           | that a market turned into a monopoly and this is not great.
           | Can we blame Rich, probably not. Can be disappointed and
           | still respecting him? Yes.
        
         | dang wrote:
         | We're all lucky that you got a polite, substantive reply, but
         | please don't cross into personal attack like this in HN
         | comments. It generally causes discussion quality to tank
         | drastically.
         | 
         | https://news.ycombinator.com/newsguidelines.html
        
           | sxiao wrote:
           | @dang, second reply and apologies, now I know what you mean,
           | I edited some part away which you probably meant and which is
           | still in quotes of others' comments. Sorry, I'll try to
           | improve and thanks for the hint!
        
           | sxiao wrote:
           | Can't follow you, what do you mean/where did I cross into
           | personal attacks? I highly appreciate Rich but the elephant
           | in the room had to be addressed, especially on HN.
           | 
           | I wonder that I am the only one that questions his move and
           | that you also approach me instead of welcoming a healthy
           | debate. Whatever, I guess you just do your job.
           | 
           | Btw, when does HN get proper pagination and a darkmode?
           | 
           | Do I get shadowbanned now for asking too many questions?
        
             | dang wrote:
             | This is the part I meant:
             | 
             | > _I 'm disappointed by Rich. Instead of thinking bigger,
             | raising money (it would have been so easy, Rich, instead of
             | doing proud conference talk after talk why didn't you talk
             | to a VC??)--he just cashed out_
             | 
             | That includes a lot of assumptions and is unduly personal.
             | I realize you're coming from a place of being a fan, but
             | still, there's an ordinary human being on the receiving end
             | of such comments.
             | 
             | Of course I'm not banning you, just trying to persuade you
             | to post more in the spirit of the site! But please stop
             | taking the thread further in this off-topic and personal
             | direction - https://news.ycombinator.com/item?id=29192231
             | and https://news.ycombinator.com/item?id=29191992 are
             | definitely not helping.
        
       | DonHopkins wrote:
       | Rich Harris Coined the Term "FauxSS": Fake OSS!
       | 
       | Svelte Summit Spring 2021: Rich Harris @6:07:00 (link with
       | timecode):
       | 
       | https://www.youtube.com/watch?v=fnr9XWvjJHw&t=22020s
       | 
       | >You know, I guess all I can say is that we're thinking about
       | this stuff too, and, like, we want the development velocity to be
       | as fast as possible. But we also don't want Svelte to become like
       | some, I don't know, some VC-funded FauxSS -- did I just coin
       | that: FauxSS? I like that!
       | 
       | >It feels like there's more and more of that these days. There's
       | a lot of people working on open source software, and then, like,
       | you discover that there's a business model behind it.
       | 
       | >And I'm always a little bit skeptical about whether or not that
       | is in the best interests of the software itself. And I don't want
       | Svelte to become a thing that is run in the interests of the
       | people building it, I want it to be a thing that is run in the
       | interests of the community at large.
       | 
       | So what is the opposite of FauxSS? ProSS?
       | 
       | Hmm: "pross: a person who engages in sexual activity for money."
       | 
       | So I guess that means OSS is as great as sexual activity. ;)
        
       | PaulBGD_ wrote:
       | I'm sure he'll see this soon, so congrats Rich! Svelte has been a
       | cool project since the beginning, and I'm excited to see Rich
       | have more time to work on this. As an early contributor I've seen
       | Svelte go through a lot of maturing and it's exciting to see it
       | finally getting the recognition it deserves lately.
        
       | gherkinnn wrote:
       | Interesting. Vercel already hired both the main Webpack and SWC
       | devs.
        
       | throwawayjklalf wrote:
       | svelte + deno should be the perfect combination for the next age
       | of web development.
        
         | ergo14 wrote:
         | I think stencil or Lit are more interesting. I'm not sure I'm
         | the fan of small libs like Lit or preact - I think for
         | scenarios where you have more than 2-3 elements you will have
         | less bytes over the wire very quickly.
        
       | stevenpetryk wrote:
       | Vercel's increasing control over the frontend ecosystem worries
       | me a lot.
        
       ___________________________________________________________________
       (page generated 2021-11-11 23:00 UTC)