8 ms·
I completely ignored the front end development scene for 6 months. It was fine
- the__alchemist 5y agoI've found the way to reduce churn the most is discard frameworks and DSLs whenever possible. This morning, I rewrote a page of frontend code for a scheduling webapp. I'd initially built it in TS/React years ago. Switched to Rust/WASM with a custom VDOM-based framework a year ago. I'm reasonably confident I won't rewrite it again in a new framework: the new page is an HTML document with an included JS script that performs standard DOM manipulations using the API described on MDN. The code's now insulated from changing dependencies because it has none. And the page loads fast.
- 71a54xd 5y agoInteresting, I'd never thought about niche front-end frameworks from the rust / elixir live-view camps in this way. Totally makes sense though! I'm still mildly convinced there's a front-end engineering bootcamp / JS framework industrial complex operating behind the scenes.
- quickthrower2 5y agoWhy was the TS/react rewrite needed? Had react or ts broken it’s api?
- the__alchemist 5y agoReact didn't substantially improve code flow, and added a dependency, config, a build step, and DSL. Typescript added a build step and config. Stated another way: The new page is a single file written in web standards. The React/TS way is more complicated, requires a bigger download, and is slower.
- Rd6n6 5y agoWasm and rust sound amazing. Are there any downsides? Performance issues? I heard there can be issues with dom manipulation but might be misremembering
- the__alchemist 5y agoCurrently, WASM calls ultimately execute DOM API commands, so there is no performance benefit for DOM manipulation. This is expected to change, but I don't know the details. I can't explain why, but WASM files end up much larger than an equivalent JS file. (And often larger than a NPM/framework-based etc JS bundle) Also, a build step. Perhaps someone else who's used WASM more recently, or used it with a language other than Rust can comment. It's nice being able to use whichever language you wish, but IMO not worth the downsides in its current state.
- robertoandred 5y agoIs this custom VDOM-based framework not a dependency? Doesn’t sound like a web standard.
- jimmaswell 5y agoYeah, it seems to me they took a dependency out of plain sight and replaced it with an opaque binary that has to be built externally with its own dependencies and declared victory.
- the__alchemist 5y agoCorrect - which is why I replaced it with HTML/CSS/JS.
- zebraflask 5y agoCompletely agree. After healthy doses of React / Angular / Vue development, you kind of reach a point where wrestling with the quirks and overhead of the framework, when it's not strictly necessary, seems like more work than just tossing up some plain standards-compliant code. I like getting rid of dependencies whenever possible. I think I read something a little while ago that that's actually what Netflix sometimes tries to do with their front end - plain, dep-free code wherever they can make it work.
- strangattractor 5y agoI worked at Apple in the 80's. We got a sabbatical back then - 5 weeks after 5 years. I saved a bunch of vacation and took off during the Thankgiving -> Christmas season for 3 months. I was afraid that when I returned I'd be totally swamped trying to catchup at work. Guess what - during the 3 months absolutely nothing changed.
- divan 5y agoI switched to Flutter 2.5 years ago for frontend. The blessing of having incredibly well designed UI framework that gives you NATIVE iOS/Android/WEB/MacOS/Linux/Windows app from the single code (in a decent language and without a gram of html/css/js crap) is hard to describe. I'm stunned by how many devs yet to discover flutter. Web frontend ecosystem is just a pile of hacks on top of hacks compared to what Flutter team and community has built over just few years.
- BoorishBears 5y agoI don't think devs haven't found it, it's a combination of: - They found it too early and it was pretty broken (I fit in this camp a little) - They found it and consider Dart a step back from the main languages on most platforms. Dart feels closer to Java/ObjC than Kotlin/Swift for those who are in the mobile space and know what that transformation was like. (I mostly fit in this camp)
- floxy 5y agoDead tree Flutter book you would recommend?
- divan 5y agoNope, I use bottom-up learning for languages/frameworks .
- david_allison 5y agoI'd like to trust Google, but they deprecate Android functionality at an astonishingly fast rate. It's a significant risk factor that should be taken into account. Doing a quick "Find usages" on java.lang.Deprecated in my current project returns over 4,000 instances from Google/Android libraries and it's a significant frustration within the Android developer community
- barbarbar 5y agoMaybe it is because flutter is acting very strange when used in a web app. Scrolling is kind of not working. Or has that improved?
- spoiler 5y agoI love her attitude, and I think mine's similar. Main difference being that I usually enjoy the learning experience; don't find it frustrating. I kinda love that beginner feeling and knowing there's lots to explore. Even if I end up disliking what I'm trying, I usually manage to find things I learned from it; so it's still good! Edit: To anyone wondering about the comments, I initially assumed the author was a guy! My deepest apologies to the author! I thought the commenter "Lucas ..." was the Author's name... I'm so dum; sorry!
- steve_adams_86 5y ago> this guy The author isn’t a guy! I agree otherwise, it’s refreshing perspective. I spent a few years fairly deep in backend work and worried quite a bit about going back to the front. Ultimately it ended up being a valuable break and pretty much all of the important things I’d learned before were still totally transferable. I think as long as you’re learning something, regardless of the discipline, your brain will be happy and you’ll find ways to apply what you’ve learned in all kinds of places. Sometimes the most valuable skills are fundamental in just about any discipline. Having patience to solve problems, or perseverance are huge. Finding meaning in what you do. Maintaining good work life balance. This stuff, in the long view, ends up mattering way more than what a popular API looks like right now.
- PrincessJas 5y ago> The author isn’t a guy! Says who?
- iaml 5y ago> Hi I'm Rach. I'm a developer building software for CodePen, wife, mother of two [...]
- steve_adams_86 5y agoI inferred it from their blog but happy to retract that if there’s evidence they identify as a guy.
- 5y ago
- whytaka 5y agoHigh adaptability means career survival? You don’t say. Front end development has matured around the reactive pattern so of course switching between react and vue is no real challenge. But the maturity of a domain is the commoditization of the domain. So I will surely be looking out for what’s next.
- peterkelly 5y agoObsession with the latest frameworks and the proclivity to refer to someone as an "X developer" for some X ∈ {popular frameworks} is a sign of ignorance/immaturity, both for developers and hiring managers. Those with a solid understanding of the underlying principles (both computer science theory and, in the case of front-end development, the core web standards) are the best positioned to make the most impactful contributions. Focus on mastering stuff that doesn't change, or changes slowly. Otherwise what you learn will be irrelevant five years from now.
- crazy_horse 5y agoIt's also a big part of the hype cycle that is an actual industry with Patreon etc now. The first rule you should remember when reading HN is the real world is not HN.
- denvaar 5y ago> The first rule you should remember when reading HN is the real world is not HN. Can you explain what you mean by that?
- crazy_horse 5y agoHow often do you see Rust mentioned here? Rust's actual use in the industry is minimal. Yes, it's growing, but it's relatively unknown. The small academic team I was on wrote a stats app package using Mithril. Nobody's using mithril, it's hardly discussed here, even though the author posts often. I truly believe that mithril is better than React or Vue people just don't know about it, it's not part of the hype cycle. React is FB and was one of the first and Vue is designed in a very community-centric way. Had we done that project today, we'd probably pick one of those because they are a lot better on resumes. HN is full of people that post dozens of comments a day. You have to ask yourself what the people who don't need to talk about it all the time are using.
- selfhoster11 5y ago
- dkersten 5y agoFor my own frontend stuff (ie when I get to choose), I've been using Clojurescript and re-frame for about 6 years now. Everything else, I've ignored. I'm much happier this way. That's not to say that I haven't learned at least some of the newer developments at least in react-land, for interop purposes I know about hooks and such, but I've mostly been able to avoid it and certainly don't have to care about it most of the time. As for work, I just picked up whatever the team I joined dictated each time I changed teams. It was fine.
- recursivedoubts 5y ago> Although it can be frustrating to go back to being a complete beginner at something over and over, each time I pick up something new I further my expertise in being a lifelong learner. Sure, but it would be nice if revolution-for-revolutions-sake wasn't the default position of the industry. There are plenty of good ideas (my hobby-horse: hypermedia) that have been dumped on the ground because people decided to reinvent everything, rather than building on the existing conceptual model.
- smitty1e 5y agoI'm extremely jealous of what technologies I invest time and study in. The 'framework of the week' club has never held my interest. If https://webassembly.org https://webassembly.org can liberate us from traditional web development, that's fine by me.
- quickthrower2 5y agoIt might fragment things further, eg imagine a job posting for a C++ programmer with web experience, browser knowledge and use of a specific C++ front end web library.
- smitty1e 5y agoThe idea would be to map the existing e.g. Tcl/Tk wrapper to target WASM.
- Animats 5y agoOh, no. Webasm is just a way to run arbitrary binary programs in the browser. You need a whole stack on top of that. And there are lots of choices. You probably shouldn't be using webasm unless you're 1) writing something like a 3D application that needs all the CPU and GPU power it can get, or 2) you're writing some kind of obfuscated hostile code, probably ad-related.
- shoo 5y agoRecently I've been lucky enough to work on a software project that requires a bunch of probabilistic calculations -- so I've been needing to learn about and apply one-dimensional numerical root finding methods that were state of the art in the _seventeenth century_, and still highly applicable today [1]. Maybe a tactic could be to figure out roles or niches where a relatively larger proportion of the work involves dealing with problems or aspects of reality that change at a relatively slow rate (physical laws? logical axioms? geology? human biology?), and where you can spend a greater fraction of your time working from first principles and accumulating depth and breadth of knowledge with a longer half-life of usefulness. On another hand, there can be a good living in helping address supply / demand imbalances in the market for $latest trendy ephemeral thing. [1] amusingly, today you can freely download a PDF of the method, as it was published in the original latin: https://royalsocietypublishing.org/doi/10.1098/rstl.1694.0029 https://royalsocietypublishing.org/doi/10.1098/rstl.1694.002...
- stolenmerch 5y agoI've definitely been caught in the trap of chasing frameworks. What finally cured me of it was to go as deep into the JavaScript language as possible. Not sure if this works for everyone, but once I spent a lot of time learning the language under-the-hood, the shininess of the hot new framework or library lost its luster and I was able to focus on what I actually needed to accomplish.
- josefrichter 5y agoBut why are you learning Go?
- egypturnash 5y agoWhen I returned to work after my 6 month break, CodePen was moving their backend code from Ruby on Rails to Go, and Front End to Next.js. So I am now learning how to program with Go and reading a lot of Next.js docs and resources. If you go to the front page of her site, it says Hi I'm Rach. I'm a developer building software for CodePen, wife, mother of two, productivity nerd and recovering screen addict. This is my blog. So: someone at $dayjob decided it was time to rewrite $dayjob in Go. Thus, everyone there must learn Go.
- Animats 5y agoGo is a good choice for web backends. Google maintains the libraries for most of the things you need for web backends, so they're well-debugged and heavily used. The language itself is just adequate, as it was designed to be. It's not overdesigned. I've used Go for a web backend. Partly because it's fast enough that I can get quite a bit of useful work done on a US$12/month shared hosting account. It's amusing to see how much you can get done on low-cost shared hosting. I write high-performance 3D stuff in Rust, but wouldn't bother with it for webcrap.
- ng12 5y agoOr course it was. Any front end developer worth his salt could have told you that. Use the tools you need and ignore the ones you don't. It's the same as any kind of software development.
- 71a54xd 5y agoThis is pretty much why I've avoided professionally doing front-end dev. The investment of time seems basically guaranteed to be worthless in less than 2yrs. I wish I was better, since then I could truly build my own products - but I'm aiming to have enough income just to hire more talented front end engineers to build for me instead of using time to build the skill myself.
- fhood 5y agoThis is a solid observation albeit one I think most people come to eventually. For the most part once you have already dealt with the spectrum of tools, the new ones just aren't different enough to be worth killing yourself to keep up with. Know what they do, and what they are good and bad at if you are in the position to be making relevant decisions, but actually learning them just isn't that big of a deal.
- a9h74j 5y agoI'm no computer scientist, but there must be an Amdahl's Law equivalent for limits on speedup through X?
- alfiedotwtf 5y agoEarly in my career I saw that front-end was a whac-a-mole in which libraries and frameworks to pick up. It was so stress-inducing for me that I decided to focus completely on the backend. Sure, in Melbourne this has been a financial detriment (fullstack out-earning backend development), but the stress levels have far outweighed it personaly.
- brundolf 5y agoI spent over a year away from React at a company using a very obscure front-end framework. Afterward I felt slightly behind on the uptick in NextJS and Hooks usage (these both existed but were uncommon before), but... it really wasn't a big deal. I picked it up. A couple months later I'm quite comfortable with both (I have opinions about hooks, but that's for another day) I think people overblow how big a burden it is that things keep evolving. Especially once you know the language/platform pretty well (that part doesn't change so much) and you've been around the block a few times ("oh, this is like X but different in a couple ways"), it just really isn't a huge thing to learn the next trend. Sometimes it's a genuine innovation, sometimes it's a familiar pattern coming back around in a new set of clothes. Neither case is a catastrophe.
- gentleman11 5y agoHaha. I ignored the web dev scene for a year or two to work on something else. Angularjs vanished and nobody will hire you unless you have worked with react. Rest is gone and everyone is obsessed with graphql. Kubernetes really took off. React alone isn’t enough though, it’s nextjs and everyone is looking into trendy redux replacements now. Typescript is everywhere. Everyone assumes you can’t code your way out of a paper bag if you haven’t worked with their exact stack for one year longer than it has existed, even though it’s all incredibly easy to learn. Also interviews are even more nuts and irrelevant. It’s depressing that your relevant important skills don’t matter at all unless you are self employed
- dclusin 5y agoAs a back end Dev it looks like build tooling has largely materialized into a few choices and doesn’t change as fast.
- metalliqaz 5y agoAs a firmware dev it looks like all yalls crazy
- megous 5y agoSo very true. :)
- flyingfences 5y agoAmen, the fact that articles like this need to be written is the reason that I have no interest in a web dev career.
- taeric 5y agoThe speed with which Google moved things around 2012 was just stupid. Gwt to angular was fast and left basically no real migration path. Or recompense for having jumped on in the first place. I believe angular got better, but I didn't stick around to find out. React has at least been steady. It has some parts that I'm personally in the camp is over engineered. But, I think that is more that the scene encourages highly engineered solutions. Reminds me a lot of the j2ee days where there was just so much ceremony on a basic ui. The rest of the technologies you list are similar to me. Not wrong or bad choices, at large. Also not typically needed, at large.
- andy_ppp 5y agoI was asked to do a take home interview question the other day in which from scratch I had to create a react app with an API. I literally spent two days looking at what the state of the art solutions are for typescript react apps and node APIs. It’s impossible to stay up to date I think!
- smoe 5y agoI stopped following news back in 2011 while previously being "addicted" to it. Whether about about tech, music releases, world news, etc. Turns out, if something is important enough for me to know, it will reach me eventually one way or another without me having to proactively track everything. If I start something new or a have a problem to solve, I research what an adequate, modern way to do it would be. I was frontend developer at time time but moved to more backend dev again. When I last year did a frontend project with react that I knew only conceptually from people talking about it for the first time, I didn't had any problem using it productively in a couple hours. The only thing that was a bit jarring, was that many people seem to have forgotten that there are html tags besides `div`. While software certainly moves fast compared to things, that have been around for hundreds or thousands of years, I feel, for the most part it just moves fast on the surface. The fundamentals have been pretty much the same since I started and I reckon for decades before that.
- redis_mlc 5y agoA news summary is: - until 2008, the theme was "Western Enlightenment" - 2008 - 2016, Obama exploited intersectionalism - 2016 - 2020, Trump awakened the US to the external threat of the CCP and the internal threat of Marxism - 2021 - now, Biden is engaged in gerrymandering using illegal aliens to keep the Democratic/Marxist party in power forever - 2022, Democratic party destroyed in mid-term election
- windows2020 5y agoBeen ignoring it for maybe 15 years now. The DOM API is looking great these days. OO style JavaScript has never let me down. Prerequisite: ability to write concise HTML and CSS. One newer thing I do utilize is TypeScript which makes developing and refactoring more complex web apps much easier.
- zebnyc 5y agoRecently I changed jobs and moved from being a front end dev to a backend dev role. Less framework chasing, more architectural concerns / long term planning, slower pace of development / expectations from stake holders and double the pay. For reference: I used to do backend dev but I did FE exclusively since 2016.
- bb88 5y ago> ..and double the pay. The problems seem to be harder on the backend, henceforth more challenging and interesting. Also optimizing code for AWS directly contributes to the bottom line of a company. So if you save $10k a month because you optimized some service, it's more likely to be rewarded. Optimizing web pages make page loads faster, but doesn't necessarily contribute to the bottom line.
- sumedh 5y agoIt does but its hard to quantify, if your site loads in 4 seconds but after a change the sites loading time becomes 8 seconds you will lose some people who will be annoyed and wont sign up. Google bots might prefer another site which loads faster compared to your site which will affect SEO.
- rex-mundi 5y agoHow did go from frontend for 5-6 years to backend?
- zebnyc 5y agoWhen I interview, I prep for full stack engineer roles. Company interviewed me for full stack role and then offered me a backend position (cause I "performed very well" in the system architecture rounds).
- aazaa 5y ago> What I’ve learnt through experience is that the number of languages I’ve learned or the specific frameworks I’ve gained experience with matters very little. What actually matters is my ability to up-skill quickly and effectively. My success so far has nothing to do with the fact I know React instead of Vue, or have experience with AWS and not Azure. What has contributed to my success is the willingness to learn new tools as the need arises. What's not fine is having poured resources into a framework over the course of a few years, only for that framework to first cease to be necessary, and eventually become a barely-supported ball-and-chain. This applies to almost everything released prior to HTML5. The problem is that re-writing isn't always an option, but the old stuff permeates almost every source file and is extremely expensive to decouple. I suspect this will sooner or later apply to everything released immediately after HTML5. Eventually, everything used today will face the same fate. There's something to be said for rejecting frameworks that aggressively inject themselves into code bases and which can't easily be extracted.
- whalesalad 5y agoIt’s really settled down a lot recently. Modern front end dev with Vue/React is a legitimate joy.
- JoeQuery 5y agoAgreed. It was pretty crazy for a while.
- micromacrofoot 5y agoThat's nothing, I've ignored it for 10 years and I'm still writing HTML, CSS, & JavaScript.
- bb88 5y agoI've pretty much completely ignored the front end development scene for the last 10 years. It was fine.
- tryptophan 5y agoI hate javascript front-end stuff with a burning passion. I wanted to make a small widget, and somehow I needed 100+ libraries for this. The compilation/build/etc process makes no sense whatsoever, and I just type magic commands and hope it works. I am seriously considering just using something like blazor or phoneix live view so I can ignore front end entirely.
- winrid 5y agoYou can use raw JS with rollup :) Also blazor and phoenix will be more magical abstraction. Basically have to stand on the shoulders of giants these days.
- ridiculous_fish 5y agoWhy did you need any libraries? Why not just use vanilla JS?
- criddell 5y ago> somehow I needed 100+ libraries for this This feels like an incredible security problem to me. When companies like 1Password switch to an Electron client, I'm left wondering how many dependencies they have. How do they protect against some minor library change introducing a security flaw?
- codyogden 5y agoLast year, I built a little widget thing in plain JS with Parcel[1]. It took away 100% of the tooling I used to spend a couple hours nailing down just to get started. When I need small JS projects that don't need a framework, etc, I'm likely to use Parcel in the future. 1. https://parceljs.org/ https://parceljs.org/
- erinan 5y agoPhoenix with Liveview is so good - not a solution to all the frontend problems but there's something about it that really feels magical. I've recently also played around with adding AlpineJS to it and it solves some of the issues I was having with LV.
- Rd6n6 5y ago
- theteapot 5y agoOne bullshit mediocre man made labyrinth after another ... Wait no! I'm a life long learner!
- 8note 5y agoI ignored it for 5 years, and my react knowledge still seemed good enough. Is the front end still changing all that fast?
- lbacaj 5y agoI ignored it for years and things are still great. Still running with simple Bootstrap themes, jQuery and mostly server side rendering and have thousands of users on my side project and lots of paying ones too. Confident I could scale this to hundreds of thousands of users with no issue.
- butz 5y agoWhen you come back after 6 months and alert() ain't working anymore.
- backendCode 5y agoI come from a backend background. I will like to know what are some news sources to keep up with the latest developments in frontend?