Wow, 39.9% of respondents mark themselves as "Expert" at CSS. I've been doing front-end in various guises for 12 years and I would only rank myself maybe 5 or 6 out of 10.<p>As I've gotten more experienced in my career I've become more aware of what I don't know as opposed to what I do know.<p>It's funny that "Advanced" is mastering animations and transitions whereas "Expert" is being able to develop a full-front end consistently. I know many people that can build a front end, myself included but are nowhere near mastering anything, especially animations and css transitions.<p>I write this in jest of course. As we all know, self-assessment is about as reliable as...
So sad to see Meteor solidly in the avoid quadrant, but it seems deserved. Meteor is what I learned how to do web development with back in 2015, and it was <i>fun</i>. It didn't take much to make stuff happen, and the baked-in live sync was like magic. I'm still eager to whip Meteor out for proof of concept prototyping because of how convenient it is to have a schemaless database and a framework that abstracts away HTTP, but for one thing I feel Meteor's big bet on Mongo hasn't paid off.<p>Also surprised to see ClojureScript's satisfaction rate at 60%. In the past year or two it's become much easier to use NPM packages, which was IMO the last remaining huge missing piece. It's now a great language for web development, providing what JS couldn't: a rich standard library with, <i>ahem</i>, <i>consistent</i> API's, a strong FP flair with excellent immutable data structures built in, and maybe most critically of all, a somewhat constrained macro system that allows users to write and distribute third-party libraries for syntax that in other languages would have required an extension of the language standard.<p>All of that is (I think) desirable by anyone unless you're hardcore anti-FP (with the one exception, I guess, that macros can be and are abused, though I haven't seen it very often in the CLJS ecosystem). So why hasn't ClojureScript seen more adoption? It's the age-old curse of Lisp, I guess: those dang old parentheses which decades of CS curricula taught in ALGOL descendents have rendered foreign and horrifying.
The data visualization is often awful and misleading. For instance, consider <a href="https://2019.stateofjs.com/javascript-flavors/" rel="nofollow">https://2019.stateofjs.com/javascript-flavors/</a><p>1. The first graph shows "Rankings". I strongly doubt rankings are more importants than values. When Clojurescript goes from 67% to 72%, this increase is shown as a ranking decrease because Reason was introduced at a higher ranking.<p>2. The meaning of the data is unclear, since the exact questions and proposed answers are not shown.<p>3. Some measures have varying populations, so ranking them is absurd. Supposing that 2% of people use A and 80% use B, what does ranking satisfaction with A above satisfaction with B mean? Since the uncertainty is huge on the A measure, the "real" ranking is not known.<p>4. Having to click in order to switch the measure shown is strange. The three measures should be display on three consecutive graphs.<p>5. The Categories graph is unreadable for a slightly color-blind like me.<p>6. The Categories segments aggregate data over 2 levels which makes them unreadable. First levels: Used, Heard, Unheard. Second levels should be computed relatively to their containers. Who cares if 1.8 % of users would not use Elm again? What is important is that ~28% (1.8/(4.7+1.8)) of those who used Elm would prefer not to do so again.
Wow, just learned of Svelte from this. After reading their explanatory blog post and coming upon this blurb:<p><pre><code> That all changed with the advent of hooks [React and Vue],
which handle state in a very different fashion. Many
frameworks started experimenting with their own
implementations of hooks, but we quickly concluded it
wasn't a direction we wanted to go in
...
We can just use the language. Updating some count value — and
all the things that depend on it — should be as simple as
this:
count += 1;
</code></pre>
That's <i>super</i> exciting to me, as it puts the emphasis back on solving the task at hand and instead of framework nuances around state management. Will definitely be keeping my eyes on it.<p><a href="https://svelte.dev/blog/svelte-3-rethinking-reactivity" rel="nofollow">https://svelte.dev/blog/svelte-3-rethinking-reactivity</a>
I'm surprised to see Angular drop in ratings and rank so poorly compared to React. I personally prefer Angular myself because it's (a) opiniated and (b) has everything included (HTTP REST calls, Material UI, etc). Just curious why so many people prefer React and mark it so positively.
State of JS is always a fun and interesting survey, but I am wary about drawing conclusions from its results because of the self-selecting nature of the participants means they are probably not a representative sample of JS developers in general. They're inevitably going to trend towards English-speaking developers who read coding news sites, participate in social media.
Interesting. React is the thing. But some trends are weird:<p>People ditch Cordova heavily, but also React Native and native apps. Electron rises to the top, although you can't build mobile apps with it that are distributed through the various stores.<p>So, what's filling the void for app development, if everything just went down?
I dream of an alternate timeline in which today we would release "State of ClojureScript 2019" with Javascript being listed as a ClojureScript flavor :)
Sad to see Ionic in the avoid category. Their latest release I thought was quite polished, and I've enjoyed using Capacitor rather than Cordova. I think the key to further success is breaking away from Cordova entirely, and expanding the native features supported in Capacitor. Right now I find myself having to use both due to some things not being implemented in Capacitor yet.
EmberJS should not be in the "avoid' section.. it is one of the most well thought-out framework which just gets the job done.. and it is a bit contra-indicatory that Ember guys are the highest paid.
The most interesting data in my opinion are the conflicting opinions on the overall state of the ecosystem:: <a href="https://2019.stateofjs.com/opinions/" rel="nofollow">https://2019.stateofjs.com/opinions/</a><p>While there is a sharp downtick of people who think that JavaScript is moving in the right directin, most agree that the overall situation in terms of complexity and velocity is getting better.<p>I don't have any explanation for this, but would agree: Developing in JavaScript feels easier to me than just a few years ago.
I find it kinda strange that Flow has been relegated to the write-in "Other Flavours" section so soon. I know that it has been trending downwards for a while (as TypeScript trends upwards), but it feels like that story's not quite over just yet even if the conclusion is foregone.
Redux has the largest shift towards "negative opinion" out of all technologies. Did people just get fed up with the boilerplate or is there something else going on?
How do 3.6% of respondents have more than 20 years of experience in TypeScript? And 21.7% have more than 10 years?<p>EDIT - They don't. They have 10+ years using JavaScript<p>TypeScript was released in 2012, sure there are early adopters and beta users, but I seriously doubt that nearly 22% of the people using TypeScript prior to it being released.
Interesting that GraphQL is slowly gaining interest - I kind of thought the hype would fizzle out.<p>Good to also see Typescript making a foothold - it's a great alternative to pure JS.
Sad to see Atom take such a sharp decline. I've finally accepted the writing on the wall and began migrating to VS Code last week.<p>Thanks for all the memories, Atom! <3
Charts in this report are very misleading.
In some cases 6% difference is 2 times bigger on chart than 5% difference.<p>I’m aware they have no scale, are simplified etc, but chart format has very specific meaning and I believe that visualisations could be chosen in a better way.
Some of the data visualizations seem... strange. For example, on this page: <a href="https://2019.stateofjs.com/front-end-frameworks/" rel="nofollow">https://2019.stateofjs.com/front-end-frameworks/</a><p>We see React go 93/93/91/89, but the 89 circle is higher than 91 and at the same level as 93?<p>We see Vue go 87/91/91/87, but the second 91 is at a higher level than the first and the 87 is way below the first 87.<p>It seems like the React line should be straight, then dip down a little bit, then dip down a little bit more.<p>The vue line should go up a bit, then be straight, then dip back down to the original position.
Something that jumps out to me in the demographics is how few respondents are from Japan (0.6% vs e.g. 5.1% from Germany). Does anyone have a good explanation?
I wonder why <a href="https://markojs.com/" rel="nofollow">https://markojs.com/</a> never gets any traction. It wasn't listed in the front-end frameworks section, even in the free-form part.
Seems like these "usage by" charts are probably not properly normalised(or how you call it?). Seems like these are showing for example how many users (earn 200k+ and use typescript) from all developers instead of percentage of TS users from 200K+ subgroup (which is much more interesting IMO), similar with experience and others.
i'm conflicted about this, but happy to see typescript overtaking the space. looking forward to the day we can all forget javascript the language as a bad dream and move on with javascript the vm.
I wish “salary” wasn’t the way people were asked about pay. Everyone I know who’s over 200k only has 1xxk salary and like 100% of that in stock compensation. It’d give a different picture of what more people are making.
"State of Javascript trends", yes.<p>Not much useful there for someone who just, you know, plods along with mere vanilla javascript.<p>And when I flipped to 'inverse' (because of the blinding white) ... there went the color scheme.
The state of Javascript in 2019 is that it should be deprecated. I have never had more problems, undefined behavior, mysterious errors and malfunctions, dependency hell and generally shitty syntax as when dealing with Javascript. God, please, just destroy this language. The web needs something different, something not broken and flawed.