1. 12

  2. 4

    I never worked with Ember but I’m surprised at the claim that React has Won. I thought that Angular and Vue have been on solid footings. In the .NET shops I’ve seen, the majority have used Angular for front-end development.

    1. 6

      I’ve never had much connection to the .net world; over in the dynlang diaspora I’ve gotten the impression that React has not just a plurality but a majority share of frontend frameworks. I built a graph with StackOverflow insights and my impression was wrong: React and Angular are roughly equivalent in popularity, with Vue at a third of either and Ember very low. (I’d love to see more sources of data if anyone has them!) Thanks for prompting a better understanding of the landscape.

      1. 5

        React won the hype cycle thus far. People whose understanding of framework popularity is colored by tech news are going to think React is dominant because people talk about it so much.

        There is some correlation with tech chatter and usage, but it’s an imperfect one. Boring technologies that work well don’t get talked about.

        1. 8

          But React is a perfect example of boring technology that work. And it’s already 6 years old.

          1. 2

            As someone who’s never used JS at all up until recently, React is so boring I can almost feel the yawn coming on… and I love it!

      2. 3

        I think React has won the UI-model marathon.

        The evidence, is that there are at least 3 full fledged React-based UI libraries covering the 4 active user-focused platforms:

        I do not think there was a UI API, in the last 20 years, that has been leveraged and re-implemented across multiple platforms by multiple independent teams. And in at least 2 different languages.

        To be honest, I would also like to see modern new GUI efforts to be implementing same APIs

        Eg libraries like mentioned here: https://lobste.rs/s/2wjeqs/photon_micro_gui Should base the APIs on RN (but without JS, of course)

        To me, such a broad acceptance by a number of teams, is a confirmation of conceptual superiority of React-based programming model (clear separation of state, tree-based event refresh propagation, clear model of how to pass parameters to components and which ones of them can can cause state change, and so many other nuances).

        Long time ago, I used for web Dojo toolkit, also used extensively Delphi, bit of YACL, MFC and bit of wxWidgets, cursory Qt.

        Layout manager and styling using flexbox, while is not easy for me to always grasp, is better that platform-specific layout managers and is the first time I encountered ‘learn-once motto’, in this area, done correctly (by React Native and React native web).

        React Native is just much better in every way because helps to map all those non-trivial state management event-propagation, styling and constraint-layouts UI concepts into a cohesive, platform-independent model.

        1. 1

          I do not think there was a UI API, in the last 20 years, that has been leveraged and re-implemented across multiple platforms by multiple independent teams. And in at least 2 different languages.


          1. 1

            Less of an API than a way to partition your work

            1. 1

              I did not think MVC was a fully defined API (eg. like react native, MFC, or QT), I thought of MVC more as a design pattern

          2. 2

            I believe React also owes at least some of its success to the much more sophisticated tooling infrastructure that JavaScript developers have access to in 2019. When Ember was created, only 7 years ago, there was a lot less you could do. Now that we have Webpack, Babel, and PostCSS, it’s a lot easier to distribute libraries such as React and Vue, and combine those with other libraries that can all compete for dominance, rather than having to choose from several frameworks, all defining their own tooling and ecosystem. These frameworks have even designed their own syntax on top of JavaScript, something Ember wasn’t able to do with its purpose-built CLI.

            1. 2

              Hm, interesting. All of what is criticised there is what I like in Ember. It’s a cohesive stack with its own tooling, that has no problem with buying into complexity if it solves things.

              I know React and Vue make some things easier, but I never quite felt like I could get a solid mental footing in them.