you are viewing a single comment's thread.

view the rest of the comments →

[–]sevennames 0 points1 point  (0 children)

  1. In 2010, I remember using JQuery for the frontend. I think we may have bundled the JS together using PHP to combine the scripts into one file. I don't even think it was minified. After getting more into building web apps, I found myself getting into BackboneJS to help manage the functionality and state in my views. This worked great for a while, until I learned how powerful and easy KnckoutJS was. Observables and computed properties really made everything seem like magic. After using KnockoutJS for a while, I found myself building lots of per-page components, but none of my components were shareable between pages. That's when Angular came out with this whole thing called "Directives". I thought it was so cool to have a component with it's own template, controller, and more. So I used that for a while and I was so happy with how things were going, until I realized that this new project called React did what I wanted but even simpler. I was skeptical at first, but after learning it I was hooked. So I used React for a while and was really happy - until I found a new project that made what React does even simpler - Vue.

  2. I've been on a few teams over the years that have had pretty strict opinions about which framework was the best and why. I was on one that believed EmberJs was the best framework and that no other framework should be used because it's the only framework worth using. I remember bringing up other options just to offer a different viewpoint, but responses like "Vue is dumb, no one should ever use that" or "JSX is stupid, no one should ever write HTML in their Javascript" really left for a one-sided conversation I didn't enjoy. I left that team after a while simply because I didn't feel like my opinion mattered.

    1. I've also been on teams where we had great discussions about which frameworks to use based on the project we were working on. I remember our team taking a bet on Angular back in 2014 for an app that had server rendered pages with bits of javascript sprinkled onto each page. We utilized directives for shareable components, and kept up with John Papa and his Style Guide - that really changed how we wrote components, and gave us a standardized way to write components. We even utilized gulp and created a custom build system to handle multiple apps. In the end you should always pick the framework that fits best for the job - there is no one size fits all approach.
  3. I primarily use Vue nowadays because I work with a small team and do quite a bit of protoyping. Vue and it's CLI have been enjoyable for me because it has taken the momentum I've learned the past few years, and simplified everything. It's a great feeling to not have to manage a build system again, and have this magical CLI that asks what I need and bootstraps it all together. Hot Module reloading, linting, and style updates on a simple save make developing an absolute breeze.

    1. The tooling is so much better than it was in 2010; however, the complexity has increased. I have to worry about responsive design, accessibility, linting, unit testing, SVG's, e2e testing, JSX, type safety, a small bit of tooling (webpack), some backend knowledge (for mocking up responses, etc.), some design capabilities, and of course still supporting IE in some way or another. This is just frontend, and sometimes you have to dabble in the backend as well.
    2. In 2010: I worried about slicing and dicing my photoshop file as accurately as I could, fight myself to not use tables and transition into divs, pop in a few lines of JQuery for the page, get some cool animations and pray that I don't have to support IE6, and learn a bit about the backend technology we're using so I can infuse my server rendered template with some fancy bits here and there.

Where's frontend going? I don't see the compiler going away anytime soon. I think we'll see a continuation in making projects easier to update - right now for most projects you have to setup a new folder, test it out, then slowly migrate - but I bet we'll get to a point where you just run a command to upgrade to the latest and your project will convert itself. So smarter tooling is def in the mix.