94 ms·
Rich Harris joins Vercel to work on Svelte full time
- bartq 5y agoFeels 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.
- gherkinnn 5y agoInteresting. Vercel already hired both the main Webpack and SWC devs.
- Graffur 5y agoBecause of redwoodjs, I've gone off Svelte a bit
- pier25 5y agoWoah 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 5y agoWe 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-of-svelte https://vercel.com/blog/vercel-welcomes-rich-harris-creator-...
- dceddia 5y agoThis 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 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!
- vgel 5y agoDo 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 5y agoIt'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.
- vgel 5y agoLinux packaging can definitely be confusing -- as a user I definitely prefer something like an AppImage for a program like this, which should be easy enough to provide. I wouldn't worry about making distribution specific deb and rpm packages, personally.
- gnrlst 5y agoI see your app is MacOS only at the moment. Are you re-writing it in Electron or what? Very curious
- protonimitate 5y agoAlso 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).
- MisterBastahrd 5y agoIt'd be more fun if I could do it in something that wasn't in Javascript or one of its Frankenstein cousins.
- tempest_ 5y agoYou 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.
- clivestaples 5y agoI 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 5y agoWith 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 5y agoIs 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.
- arberx 5y agoSvelte is fucking awesome. Long way to go to catch up to React, but it'll get there. No brainer.
- Donckele 5y agoYes, 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 5y agoCatch up in terms of hirability/company usage.
- smt88 5y agoYeah, I stupidly started some projects with SvelteKit instead of NextJS and am having a very hard time finding people to work on them.
- lucasyvas 5y agoConsider 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.
- _fat_santa 5y agoI 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.
- Donckele 5y agoGreat news for everyone using Svelte - a good move by Vercel and wish Rich gets more resources and freedom to continue the refinement of Svelte.
- throwawayjklalf 5y agosvelte + deno should be the perfect combination for the next age of web development.
- ergo14 5y agoI 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.
- dang 5y agoWe changed the url from https://vercel.com/blog/vercel-welcomes-rich-harris-creator-of-svelte 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 https://news.ycombinator.com/item?id=29189209) and the other to this Twitter link (https://news.ycombinator.com/item?id=29189467 https://news.ycombinator.com/item?id=29189467). I've merged those threads into the current submission because it was posted first.
- owlbynight 5y agoStarted 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.
- falafelite 5y agoThrilled 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.
- gavinray 5y agoWell, 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 =(
- rglover 5y agoCheck out what I'm working on. I'm staying indie indefinitely: https://github.com/cheatcode/joystick https://github.com/cheatcode/joystick. No JSX or other templating languages, just plain HTML.
- systemvoltage 5y agoI 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.
- dexwiz 5y agoDo 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.
- miguel-muniz 5y agoDo 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 5y ago
- uzername 5y agoIs this a bet against React or a bet for ecosystem variety and choice? I feel it's the latter right now.
- hunterb123 5y agoSeems 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 5y agoHow 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.
- hunterb123 5y ago> 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.
- tekkk 5y agoWow, 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.
- benmccann 5y ago> 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 5y agoBen, please don't surprise us and tell that you are the next one on Vercel's payroll.
- WORMS_EAT_WORMS 5y agoCloudflare 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).
- rce 5y agoSvelteKit has an out-of-the-box adapter for Cloudflare workers: https://github.com/sveltejs/kit/tree/master/packages/adapter-cloudflare-workers https://github.com/sveltejs/kit/tree/master/packages/adapter...
- WORMS_EAT_WORMS 5y agoThis 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 5y agoI hope that Rich joining Vercel doesn't end up compromising SvelteKit's current neutrality when it comes to deployment targets.
- benmccann 5y agoAs 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 ;-)
- penjelly 5y agoi 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 5y agoIt 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 5y agoi 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 5y agoCan 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 5y agoSurgical = "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 5y agoThere 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?version=3.44.1 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 5y agoThis is a cool approach, thank you for sharing that link.
- jitl 5y agoWhen 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.
- ravenstine 5y agoAwesome 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.
- brightball 5y agoI'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 5y agoIt 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.
- cobertos 5y agoEmber 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.
- barelysapient 5y agoThis 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.
- solarmist 5y agoSo 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 5y agoThere is typescript support.
- tropix126 5y ago1. 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 5y ago> They take full advantage of Svelte being... They? Libraries?
- Glench 5y agoAwesome. Been using Svelte exclusively for a couple years in my projects and don't see myself using React ever again.
- yumraj 5y agoCan 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 5y agoUsed to be called Now. It’s a PaaS.
- inglor 5y agoThey are a competitor with other clouds like AWS/Azure/GCP/DigitalOcean with a focus on JAMStack and modern workflows.
- dbbk 5y agoMore like a competitor to Netlify, GitHub Pages, etc
- _fat_santa 5y agoVercel is a hosting provider for static websites. I see it as a simplified versions of AWS, specifically for static websites.
- leerob 5y agoHey! 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.
- ronvoluted 5y agoHey Lee, just listened to your chat with swyx the other day. It was great hearing how Vercel positions itself and your thoughts on devrel! I know Vercel has a great developer relations team already— what would the appetite be for more Svelte DevRels in future? I've been working as a developer advocate and love Svelte enough to have even given talks on it. Would be an opportunity I could see myself in for years :)
- midrus 5y agoI'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 5y agoWhat bits were misdirected? What worries did you have?
- midrus 5y agoThe 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 5y agoOh, 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.
- 5y ago
- _benj 5y agoThis 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 5y agoI'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 5y agoFor 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
- toastercat 5y agoThis is awesome. Next.js is garbage so hopefully SvelteKit gets all the love and attention from now on.
- _fat_santa 5y agoMy biggest issue with NextJS is next/image vendor locks you into Vercel.
- bradleyg_ 5y agoYou can use netlify-plugin-nextjs - https://github.com/netlify/netlify-plugin-nextjs/blob/v3/docs/image-handling.md 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 https://nextjs.org/docs/deployment#other-hosting-options
- leerob 5y ago`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#loaders https://nextjs.org/docs/basic-features/image-optimization#lo...
- _puk 5y agoThis 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.
- kevinak 5y agoThis 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 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/sveltenyc - https://lu.ma/sveltesummit-2021-mainz https://lu.ma/sveltesummit-2021-mainz
- ramraj07 5y agoGenuinely curious, what’s there to do about for an entire conference about a single library? For someone from academia, where conferences typically span an entire field of research, this seems extremely niche and quite boring after a bit..
- tnzk 5y agoMeetup with people who share an interest itself fun?
- DonHopkins 5y agoBecause the last Computer Science Conference I went to wasn't small and cozy enough that I got to hang out and personally chat with the leaders in the field.
- candu 5y agoWell - that might be overstating the matter; after all, academia also has workshops focused on very small niches... ...but also: it's not uncommon to find industry conferences about a specific framework, because it's not just about the framework - it's about the uses to which that framework can be put, and about interacting with the community around that framework. Both of those facets permit a lot of variety, especially for foundational tools (e.g. web application frameworks, UI libraries, database platforms, etc.)
- joshgrib 5y agoI'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!
- sxiao 5y agoAm 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.
- waterglassFull 5y agoFeel free to make your own alternative, the world's your oyster.
- mixmastamyk 5y agoThe framework appears to have an MIT license and lots of contributors so I wouldn't worry too much.
- exhaze 5y agoSvelte 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 :)
- swyx 5y agointeresting 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 5y agoExactly. 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.
- arendtio 5y agoFirst 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?
- PaulBGD_ 5y agoI'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.
- stevenpetryk 5y agoVercel's increasing control over the frontend ecosystem worries me a lot.
- rglover 5y agoThere's hope: https://github.com/cheatcode/joystick https://github.com/cheatcode/joystick.
- solarmist 5y agoAny Svelte UI component libraries with good i18n and a11y support?
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- fidesomnes 5y agoI guess you could say I don't care.
- cphoover 5y agoI'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.
- d23 5y agoAs 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 5y agoI 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 5y agoFrontend 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
- kaddywampus 5y agohow
- DonHopkins 5y agoI'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 5y agoMy favorite feature of Sveltekit is probably the server-side endpoints. It's so easy to create an API using them.
- DonHopkins 5y agoRich 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 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. ;)
- aogaili 5y agoPersonally 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 :)
- aogaili 5y agoPeople downvoting...I've bootstrapped my own business so I can speak my mind freely and don't mind being disliked, as long as my customers like my work. Now for today's topic: 1) life 101: nobody gives you money for nothing 2) If they give you 5% they will act as if they have given you 90%, it will happen gradually 3) Vercel is seeking monopoly over front-end deployment using investors money and buying open source contributors, of all the major frameworks, they would have done the same with ReactJS and Vue if they could and they will try doing it with any framework that gains momentum. It is a fine strategy, not my cup of tea. 4) I'd rather support bootstrapped business and solo developers 5) I personally wonder how someone with the portfolio of Rich Harris couldn't manage to get sufficient sponsorship to go full-time given how much value he has generated to the community, I think this is something open source community need to tackle, perhaps crypto can help contributors make money earning easier? How about 1 token for each download, fork or install something like that that would help open source contributors generate money just by creating value...something is really broken here and I think there is a room to innovate with micropayments, I mean we know the likes, forks, issues, we have the entire repo content, we have the history of the contributors, given all the fuss about crypto, I wonder why haven't we seen anything in that direction yet, am I missing something? I think monetization of open source should be built within the platform (Github or some modern alternative), with different options on how contributors can run their content creation business. They can choose to give it free, free up to a point, or charge from day one, it is still open source, etc. Lots of room for innovation. 6) Many people share my mindset, but afraid to speak out, so here it, is plain and simple.
- crummy 5y agoI 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?
- dbbk 5y agoI 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.
- swyx 5y agoi did try that - https://twitter.com/swyx/status/1294310598419689472 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 5y agoLooks 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).
- alserio 5y agoI often ear this "vast majority" claim but is it true? Every slow website I encounter is react or angular based. Maybe I just don't notice the fast ones, but react and fast enough are not really my experience
- ithkuil 5y agoI heard about vercel before but this announcement made me try it out. Oh boy, what an amazing onboarding experience!
- whiddershins 5y agoWe have used Svelte for a major internal project and it has been an absolute joy to work with. This is really exciting news.
- kosolam 5y agoSvelte 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
- xrd 5y agoSo 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.
- ummonk 5y agoI 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?
- timeon 5y agoAnd how about shadow DOM?
- ummonk 5y agoVirtual DOM? That’s the internal machinery that allows you to specify (and update) the UI declaratively while applying only localized updates on the actual DOM. It’s a feature, not a drawback, when you want to code declaratively.
- bdougherty 5y agoYep, at least it is for me. I think it is so much easier to simply `bind:value` than have to write my own event handler to update inputs, etc. Similarly, it's much simpler to have the parent bind to a property of the child rather than passing the value down along with a function to update the parent every single time. In effect it works the exact same way, but I have much less to do to get there. Store-wise, Svelte stores aren't fundamentally different from having all of your state in Redux, and I prefer that it encourages smaller stores rather than one giant one. On top of that, it just feels better to me writing HTML, CSS, and JS instead of trying to shoehorn everything into JS.
- whiddershins 5y agoSvelte's main differences include being compiled, and being truly reactive.
- sholladay 5y agoRich 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 5y agoMaybe I'm misreading your comment, but Richard Harris did not create esbuild. Evan Wallace, co-founder of Figma, is the person behind it.
- dragonshed 5y agoRich created rollup :)
- beeandapenguin 5y agoYou are misreading. He's saying that rollup[1] was the only other option for bundling static assets besides webpack until esbuild was created. Rollup was created by Rich. - [1]: https://rollupjs.org/guide/en/ https://rollupjs.org/guide/en/
- enumjorge 5y agoThat makes more sense. Thanks for clarifying!
- deepakkarki 5y agoYou did misread. > Until esbuild came along, Rollup was the only sane JS bundler Rich Harris did create Rollup
- dissent 5y agoI have recently joined a team that had invested in Svelte. I had previous experience in Angular and React. I was happy with React, but I decided to drink the koolaid and go all-in and do my best with Svelte. 6 months later, we're moving to React. It is partly because our Svelte code was messy enough to warrant a rewrite, and partly because we wanted to leverage the React ecosystem in that rewrite. It was also partly because I just don't like Svelte very much. I think Svelte is clever, and interesting, and I'm glad it exists. But I found a few points insurmountable: - Too much magic. The abstraction leaks and when it does, it requires a good mental model of Svelte's magic. I noticed this threw our juniors off. - Special syntax for reactivity is not javascript - I find the javascript-native flexibility of JSX far more expressive than any custom templating - There are major tradeoffs made by doing things at compile time. Things that are easy in React at runtime turn out to be surprisingly difficult in Svelte - Two-way data binding is a constant source of bugs - Svelte practically requires let-style variable rebinding, often at a file wide scope, which again caused our juniors in particular to write bad code - The style system is too opinionated for me. I also find it necessary to break into the global scope for any minor restyling of a subcomponent (or worse, pass in the style as a prop) - Built in reactive store is cool, but our developers all ended up using it for tight coupling and global variables - The strict one component per file approach can be cumbersome. It's not possible to write a one-line function component or similar - Much smaller ecosystem than React, requiring much more to be done in house (exacerbated by all of the above). - The faster runtime speed in no way made up for any of the above. Bad Svelte code is still slow compared to good React code.
- bGl2YW5j 5y agoPerhaps a shift in mindset about how to approach using Svelte would help. Svelte is not React, and using React for an extended period really changes how you think about frontend code (structure-wise etc). As a quick example, the Svelte 'ecosystem' is simply the Javascript ecosystem, which existed well before React. You can import any npm module to a Svelte app. Outside of the React-specific packages (which I argue are overkill), such as Redux or Redux-enabled form libraries, what are you missing? Pre-styled components like calendars, modals, popups, are available in a range of vanilla-JS packages. Anything more than that and it's possible that React thinking has over-complicated your approach.
- sngz 5y agogreat news. as someone that really dislikes react but is forced to work with it I hope someday I'll be able to use svelte on my project.
- brailsafe 5y agoDidn't know who Rich Harris was. Could probably include that in the title, or link to the blog post on the Vercel website. Clicking on his Twitter picture requires logging in and only through the Vercel blog post headline did I find out.
- chovybizzass 5y agoCancel culture and wokism is alive in well in the svelte community. I was banned twice from discord and again from reddit's sveltejs sub. The bay area svelte group is looking for a new moderator, I was going to do it, but after this experience I decided I will just wait until something better than svelte comes along.
- PostThisTooFast 5y agoWhoever and whatever that is.
- seanstrom 5y agoHonestly, don’t really know much or care much about Svelte for my own use. But hearing that someone is going to be sponsored to work on their invention full-time is wonderful. Glad to witness this personal victory and sending good vibes to help make Svelte great.
- bl4ckm0r3 5y agoWhy has this discussion become a Svelte vs React war? React is not going anywhere, Svelte is pretty cool and very young and it's exciting and it will be fun to see what cool new patterns emerge from larger use, as much as React patterns changed with time. I started with Emberjs (which i love and had some faults), then move to React (which i love and had some faults), then Vue (which i love and had some faults) and now I am trying Svelte, which i love and has some faults. That's what maintainers do, make their frameworks better. people saying that they don't understand the new toy as well as the old toy they are used to...i mean...yeah! and people saying that devs write bad code because of the framework, remember how much logic and bad code was in the view layer of mvc frameworks, how much logic and bad code was in class initializers and lifecycle methods in react components etc. Give svelte some time and contribute to make it better if you care!
- HeavyStorm 5y agoExcellent news, I love svelte and this could increase adoption
- deleted 5y ago[deleted]