What changed
What changed I started web development exactly 10 years ago. During the past years I’ve worn several hats, from developer to project manager, product manager, I am now back to my initial love: web development.
When I picked up web dev last year in April, it felt better than ever. Why? What changed in the past years? Did I mature or the business?
I sure hope both, but for the latter I’ve gathered some points. Let me explain what improved.
Browsers.
No more special code for IE6 & IE7. You might say that Safari is the new IE. But nowadays we don’t spend 30% of our time writing code to make everything work in one single browser
Development environment
Setting up your local environment? Just hit. It wasn’t so long ago when we’ve needed to go through a 2 page checklist to install a bunch of dependencies, configure Apache, databases, XDebug, php.ini and what not. 3 coffees and a couple of f words later you’ve felt like taming a dragon, while all you did was the equivalent of today’s npm i && npm start
. It just works TM!
Plus I’ve never had such a positive experience with an IDE like with VSCode. Comes out of the box with a solid set of features provided with no config.
NPM
1 million packages at your fingertips. Enough said.
Best practices & New language features (ES2016 & ESNext)
It always felt dirty to write Javascript. jQuery surely had its role, but writing $
, fn.prototype
, declaring global variables for everything and not having conventions was causing headaches.
Then there are the new features. Spread operator? Template literals? Functional Javascript? Yes, please!
Javascript came a long way.
Tooling
Prettier <3, ESLint, Webpack. CircleCI and all other tools for CI, Sentry for bug reporting, Jest & Enzyme, Cypress.io. We’re lucky to have great tools!
Templating
You remember smarty? How about Twig or Swig? Passing variables one by one to the template and then writing a combination of PHP, JS and HTML was a huge pain. And let’s not even mention sharing localised strings between backend and frontend.
State management
I didn’t even get why this was such a huge deal until I started doing React.
Components
Working in outsourcing for several years, our plan was always to create modules that we can reuse across projects / clients. Authentication, listings, search and so on. Every time we were convinced that we’re on the right track, invested extra effort to make it happen, but the plan went down the chimney most of the times. For one reason or the other, the component had to be modified so much that it just felt super dirty.
For the first time I’m writing plug & play components. React rocks!
Write once, run everywhere
Cheesy tagline, but for the first time I’ve seen the real benefit of running JS on four different platforms. My cousin Peter Juras & team are setting new standards in the restaurant ordering industry and he has set up a kraken with more tentacles that I can count with minimal help apps for iOS, Android, Raspberry Pi and Web. They orchestrate the whole communication between (hungry) customer, kitchen, waiter, receipt printer and restaurant manager using Javascript and a bunch of Amazon Cloud services. If this isn’t a real selling point for JS, I don’t know what is.
To summarise, app development never felt better. The ecosystem is thriving, the language matured, awesome tools pop up every other day and my developer experience is off the charts.
If you’ve been considering to join the party, now’s the time.
Is there anything that you’ve missed from this article? What’s a cool feature that you love and I forgot to mention? Happy to hear your thoughts.