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.

What is the first thing you need to understand as a new Web Developer?

I think the first thing you need to understand as a new Web Developer is that you can do it!

As in, it’s just code. And Code is just Text. And you can read. so you Can Code.

Basically, web development is mostly transparent. 98% of everything can be quickly de-mystified. You can go to any cool website you see, view the source, and figure out how they did it.

Or you can just Google how to do it, and there’s usually numerous free resources on how to do it.

But the idea I want you to get through to you is that, it’s not magic, it’s known and you can know it too.

Websites vs WebApps?

What’s the difference between websites and webapps?

Websites are static. This could be like a website for local business.

WebApps has a backend, a database, or a highly interactive front-end. It’s more than a glorified online brochure.