Should I start learning scala or typescript? I'm developing nodejs + angularjs apps in my spare time and want to improve the code (native JavaScript 5 currently). Or should I start with babel and ES6?
If you're in for the long haul (say 2+ years) I'd go with scala - it's ultimately a better language with a much more complete and powerful type system than typescript. It's also good to learn at least one functional language to pick up the functional techniques (which are ultimately valuable in any language), so if you've never learnt a functional language before I'd recommend it.
But typescript will get you most of the "quick wins" of type safety and is very easy to migrate to, so it's probably a better choice in the short and medium term (at least in terms of immediate productivity).
I'm more into a long haul so scala sounds pretty cool.
But what just rushed into my mind is that angular 2 will be in typescript so learning scala would only be relevant for server side code. And using two languages when one can handle both doesnt sound quite convicing :/
Would you still recommend scala when I want to work with angular 2 in the near future?
Scala can be very good at interop - I still use Wicket (Java) for my Scala web UIs. And I'm confident that the Scala.js folk will have a good answer for doing UI, whether that ultimately means Angular 2, another existing framework, or a native Scala.js UI framework.
All that said, if you're thoroughly committed to Angular 2 (a mentality I don't really understand - I love Wicket but if an equally OO framework existed in native Scala then I'd use that instead) then using anything other than Typescript is probably an unnecessary risk factor.
I started with angular and due to my limited spare time I simply dont have the time to learn both. I'm very interestend in React but focusing on angular (and angular 2 in the near future) sounds more promising (based on random articles and news).
Do you think switching to react would be worth it? My angular pages are not very complex and I'm still relatively new to angular so switching could be possible.
Why would you want to learn this kind of obscure syntax, just to make a simple select input (and still be limited in what you can do)? You don't need this kind of stuff in React because you build your views with pure Javascript and HTML.
Well, I believe React is the right way to do JavaScript UIs until something even better comes along.
It's not about Facebook - it's about the design that promotes "functionality" and modularity etc. That's the big deal.
Angular and Ember are both needlessly complicated to begin with, but even more so because of all the two-way state-mangling going on.
So yes, switching to React will be ever-increasingly worth it, because the benefits of not having to deal with Angular will keep compounding over time.
So instead of "opportunity costs", you'll have "opportunity benefits" :P
But typescript will get you most of the "quick wins" of type safety and is very easy to migrate to, so it's probably a better choice in the short and medium term (at least in terms of immediate productivity).