3 ms·
I also left out Qt, Swing, etc. on the desktop. I'm comparing a direct lineage of replacements, not showing diversity of choice.
by Kerrick 2y ago
I also left out Qt, Swing, etc. on the desktop. I'm comparing a direct lineage of replacements, not showing diversity of choice.
- megous 2y agoThere's no direct lineage.
- Eric_WVGG 2y agoHi, I've been a web front-end dev for 25+ years. I have no idea what Backbone is/was. There's no direct lineage there, I think that's a sort of forced reading. Also the whole notion of a "front-end vs back-end" division only covers part of the web's history. imo a real "lineage" would be something like… - pre-AJAX, server-rendered sites (PHP, JSP, ASP, ColdFusion; no division of front/back-end) - the monolithic framework era (Drupal, Ruby on Rails, Laravel) with some AJAX Javascript and jQuery sprinkled in - the modern era of reactive frameworks (front-end fully decoupled) Even within the most popular modern framework, NextJS, the first question a developer has to ask is “how do I manage state?” Actually that's the second question; the first is “how do I manage styling? should I use Tailwind, or something that doesn't suck?" Immediately you're looking at dozens of conceptually different choices, which makes one wonder if it even makes sense to call NextJS a framework at all. A real framework would have prescribed methods. This is why there's front-end churn, there's never been a right way to do any of this, because the web wasn't designed to be an app platform. It's all hacks, from top to bottom.
- megous 2y agoAs someone who developed web apps since the DHTML days when DOM was not yet standardized,... :) I'd add another major category and that's ExtJS and friends (large integrated MVC GUI component frameworks), which successfully replicated the [developer] feel of desktop GUI toolkits in the browser, somewhere between your last two categories.
- Kerrick 2y agoBackbone sat right between the jQuery sprinkle and reactive frameworks era. It popularized a bunch of important concepts that quickly led to the next era: - storing data in JavaScript, not in DOM elements - separate models and views before JavaScript even had the class keyword - decoupling from your back-end through a RESTful API - templates that would be filled with data in the browser - client-side routing However, it was not in the same league as reactive frameworks like Angular.js or Ember. It was missing two big things, which destined it to be a bridge from the jQuery era to the present. - Reactivity that stretches to the DOM. Backbone's views had a `render` hook you had to implement that expected you to either replace the HTML wholesale or go fiddle with the DOM yourself. - Partials or Components. Backbone didn't support subviews at all.