Great report. I'm very satisfied with Clojurescript.
The State of JavaScript – Survey results
151–160 of 357 posts
Re: The State of JavaScript – Survey results
#152This is in strong contrast to something like Elm. I have played around with Elm a bit but it's hard to wrap my head around some of the concepts and setting it up with the back-end frameworks that I'm familiar with has been meh. It's also changing rapidly so trying to figure out the concepts by looking at real world examples doesn't help because of a changing language specification. Going from changing the state of a counter to building out a larger application has been somewhat difficult for me and I feel overwhelmed every time I try to start a small project with it. I'm chipping away at that with an Elixir/Elm project, however. But the overall point is that progress is slow because it's such a different way of doing things and I get this gut feeling that I'm drifting away from KISS principles.
I'm not a front end developer at all. I'm a systems engineer who dabbles in web application development because it's fun and allows me to build some nice internal tooling for other teams. However, because I don't have that deep web experience I tend to gravitate towards the "old but still good" concepts and frameworks. I'm much more likely to reach for jQuery and server side rendered templates than I am for React or whatever amalgamation of libraries that require an overcomplicated build tool.
Re: The State of JavaScript – Survey results
#153Earlier quoted context omitted.
webpack allows some pretty sophisticated resource pipelines that go beyond what you can do with browserify, especially around binary resources. One of my use cases is working on a HTML5 game. I pre-process all the tilemap levels to add unique IDs to the entities within the file, but only for those JSON files that look like tilemaps. Each of those files' names get mangled as a hash of their contents as well, so I get…
Awesome. Guessing you wrote your own Webpack loader for tilemaps? I'd love to hear more about what went into that. I had the same reaction as GP when I first saw it (meh, just another overly complex tool, who cares) but you can really do some ridiculously cool stuff with it. I also love how stable it is, compared to the ecosystem it's associated with.
The save system is next on my list of write-ups.
Re: The State of JavaScript – Survey results
#154Earlier quoted context omitted.
After using Mobx for a few weeks, I've come to question why anybody would use anything else. It is the only software I've ever used that was created for a dynamic language that has me trying to re-implement in my favored strong/static typed languages. Now I just point and laugh at anybody trying to make sense of their Redux global state atom with a bajillion reducers. So far, I've only found one common objection to i…
I'm really interested in what you're saying about UIs as state machines. Do you have any articles/references to back this up? Genuine curiousity here.
UIs in general can not be represented by finite state machines. An example is a page with a button which when pressed adds something to the page. Since there are an infinite number of things that could potentially be added, this can't be represented by a finite number of states.
On the other hand, I think many UIs could be represented by finite state machines, although perhaps sometimes only roughly. You can start by trying to specify that each instance of a specific page a user can see is presented by a state, and any interaction with the user that leads to a different rendering of the same or a new page is a transition. However, this fails to account for things where a user can do something which doesn't change the current page but might change a later page. You can account for this by having multiple states which show the same exact UI but have different transitions to future pages. Of course, it isn't just the user who can interact with your system to produce a different UI for other people, so you'd have to model those transitions and states too..
I'm not a front end developer so I don't know how many UIs can actually be modeled this way, but I can see how it might be a useful way to think about things, even if it isn't necessarily always correct.
Re: The State of JavaScript – Survey results
#155I'd love to hear more from people that expressed certain viewpoints - specifically those who used a library but wouldn't use it again... Specifically mobx :) I've played with most popular js libs now and I've found that for my use case I wasn't totally happy for one reason or another. I've been dabbling in mobx for that last few weeks and the ease with which it has allowed me resolve issues in my codebase is really p…
After using Mobx for a few weeks, I've come to question why anybody would use anything else. It is the only software I've ever used that was created for a dynamic language that has me trying to re-implement in my favored strong/static typed languages. Now I just point and laugh at anybody trying to make sense of their Redux global state atom with a bajillion reducers. So far, I've only found one common objection to i…
State machines don't let you change things whenever you feel like it. There are a set number of states and a bunch of predefined transitions between them.
That structure is exactly what redux forces you to implement - whereas in MobX it's up to you to apply the same constraints.
Redux with plain JS objects a a little messy IMO, because there aren't lots of nice & readable ways to transform objects without mutating the previous version. I use it with Immutable JS and am very happy with this approach.
Re: The State of JavaScript – Survey results
#156Anyone feel like piping in why Aurelia? It pops out in the data, but unknown is satisfaction, etc.
The Aurelia community on Gitter is outstanding. Just really helpful and friendly. I would have been in big trouble without them.
I had actually done research on React, Angular 2 (still in Alpha), and Aurelia before I started the SPA. React seemed to weird and foreign to me a the time, and not enough of the community seemed to want to do React in Typescript which I had settled on as my front-end language. Probably the only reason I chose Aurelia over Angular 2 at the time was because it was painful to do dynamic, data-driven, components with Angular 2 at the time.
Aurelia is probably the best of breed in the Model-ViewModel world. It's post 1.0 now. That said, I've just finished my second app in React, and my third app is going to be in React too. I just find composing UIs in React to be much more natural because you're using JavaScript instead of stringy expressions in attributes to say generate list items.
Re: The State of JavaScript – Survey results
#157Re: The State of JavaScript – Survey results
#158It's really unfortunate that so many people aren't interested in learning Ember. I just started an internal IT tool in Rails and Ember and I'm really enjoying the simplicity of it. I want something that is easy to understand, easy to setup, and won't change for a while. I became more interested in Ember when I read something online about how they are focusing on stability in the long term instead of a bunch of featur…
Re: The State of JavaScript – Survey results
#159Re: The State of JavaScript – Survey results
#160I apologize if the predictability of this comment, but I just want to say, I recently started a new gig at a company that has undergone a full on embrace of Javascript for tooling and server side projects and it boggles my mind how much productivity is wasted on this ecosystem. There is an interesting amount of energy put into making asynchronous code read synchronously in situations where asynchronous code provides…
Give Dart a try. It has a single dependency management tool (pub), support for Angular 2, and is generally a joy to use. Material widgets for Angular 2 (the same ones Google uses internally to build Adwords) are expected to be announced at the Dart summit in October.
The sweet thing about Dart is you don't need libraries like Angular or JQuery. I just use the built in Dart HTML methods and they compile down to vanilla JS.