Platform of the Browser

An interesting Hacker News story made it’s round today, declare TypeScript Victorious.

Honestly I thought TypeScript was JS for Java developers.

However Angular 2.0 adopted it, which was interesting… I tought because Angular 2 was so different than Anagular 1.0, that it’ll die.

Learning Python currently and this reminds me of the Python 3, Python 2 shift… maybe they will co-exist…

Maybe technologies never win, lose or die… The TIOBE Programming Language Popularity index. If “Java” won… why is there still C, C++, C#, Python, PHP etc. developers?!?

Why isn’t all web-apps written in Java Spring Framework?

Why Do New Languages Start?

It’s to solve a problem that was a previous pain in old languages, tools & frameworks.

So this brings us back to the state of Front-End JavaScript Frameworks.

TypeScript dominance and Angular popularity made me re-accessed the current landscape.

What’s winning or has won, Angular, React, Ember?

So lot’s of people said React won… but yeah Angular still pretty popular… but can both React AND TypeScript win? I’m thinking TypeScript is synonymous with Angular 2.

Web Browser as a Platform

Just how there are many Programming Languages for Desktop/Server development, and there’s many frameworks on top of those languages, there are different “Languages” & Frameworks for client-side web applications.

Only difference is that instead of compiling to machine code or virtual machine code (Java, Python) these Client-Side Languages compiles to JavaScript.

JavaScript is the Browser equivalent of Assembly. Projects like ASM.js and Dart’s abandonment of browser integration in favor of JS compilation.

What’s wrong with JavaScript?

JavaScript is horrible. It was made in 48 hours. The actual “features” of the language is huge, but the actual features you should use is small.

What’s worse is that different web browsers translate the same code (Things like DOM manipulation) differently… Your webapp might work fine in Chrome and Firefox but semi-works in Safari and doesn’t work at all in IE. BUT your app needs to work on all of the above.

It’s a pain to get your app working in all these Web browsers…

That’s why Libraries and Frameworks for Client-Side JavaScript is so popular… it removes lots of crap we have to deal with.

So What JS Language and Framework Wins?

Different strokes for different folks.

Also since all these languages compiles to JS you can often use a combination. Ember with TypeScript, React with CoffeeScript, etc.

They will all co-exist I’d imagine like how Java co-exist with  C#, co-exist with C++, Python etc.

Maybe your use case is different, and you require different framework. You are a solo-developer who’s just coding a personal project for fun, vs a team of hundreds with strict product specs.

Don’t get pressured to code differently just because a stack seems more popular. If a language/framework is popular enoughgo forth.