
By Yakov Fain | Article Rating: |
|
February 19, 2016 12:30 PM EST | Reads: |
190 |

I decide to write this blog after reading this post of a frustrated developer (he goes by the nick pistachio) who couldn’t create a simple single-page application (SPA) in JavaScript in several days. Typically frustration is a result of unmet expectations and this is the case here as well.
If pistachio would decide to create a simple app using the JavaScript framework he already knew, he could achieve his goal in 2-3 days allocated for this job. The problem is that he decided to achieve two goals:
- Learn what’s going on in the modern JavaScript ecosystem
- Develop a simple SPA
The first task takes months of studying, but he had 2-3 days. As a result, he “got stuck in an analysis paralysis loop”. Such paralysis could have happened in any modern technology. Learning the syntax of a programming language is one thing, but mastering frameworks and the tooling is a completely different ball game. My main programming language is Java, and in the past I also was frustrated with JavaScript until I accepted two facts of life:
- JavaScript is here to stay.
- JavaScript is THE ONLY programming language that can run on any browsers and any old and new hardware.
- You can run, you can hide, but you can’t escape JavaScript.
The fact that you can quickly learn how to write Hello World in JavaScript is not the reason to assume that JavaScript is a toy that should just work. You have to study it. Yes, there are way too many large and small libraries. Yes, there are several package managers. Yes, there are various automation tools. This means that you need time to get familiar with some of them and pick a reasonably small gentlemen set that works for you.
I’ve been developing Web applications with Adobe Flex framework for six years. This was the best Web framework I’ve ever seen (batteries included). So what? Flash Player is dead. Accepted it and moved on. I spent two years trying to find a JavaScript framework that would make me as productive as I was with Flex. None. Nada. Nyet.
There seems to be the light at the end of the tunnel though. Here’s what works for me now (subject to change):
Web framework and the language: Angular 2 with TypeScript
Package manager: npm
Preparing application bundles: Webpack
Unit testing: Jasmine with Karma
Deployment: npm scripts
IDE: WebStorm
If this list looks too big take a look at the skills section in a resume of a professional Java developer. If it has less than 10 Java-related tools and frameworks – it’s a resume of a junior developer.
I just came back from a large conference DevNexus where most of the attendees were Java developers. After my presentation on developing with Angular 2 and TypeScript one person stopped by and said, “I used to hate JavaScript, but now I’ll look at it again”. Please do, but take it seriously and allocate enough time for learning the JavaScript ecosystem. Manage your expectations.
Read the original blog entry...
Published February 19, 2016 Reads 190
Copyright © 2016 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain
![]() Mar. 17, 2016 06:45 PM EDT Reads: 735 |
By Elizabeth White ![]() Mar. 17, 2016 05:15 PM EDT Reads: 537 |
By Liz McMillan ![]() Mar. 17, 2016 05:15 PM EDT Reads: 793 |
By Elizabeth White ![]() Mar. 17, 2016 02:30 PM EDT Reads: 298 |
By Liz McMillan ![]() Mar. 17, 2016 02:00 PM EDT Reads: 815 |
By Liz McMillan ![]() Mar. 17, 2016 12:30 PM EDT Reads: 1,012 |
By Elizabeth White ![]() Mar. 17, 2016 11:00 AM EDT Reads: 407 |
By Elizabeth White ![]() Mar. 17, 2016 09:30 AM EDT Reads: 792 |
By Elizabeth White ![]() Mar. 17, 2016 08:45 AM EDT Reads: 939 |
By Elizabeth White ![]() Mar. 17, 2016 08:30 AM EDT Reads: 942 |
By Elizabeth White ![]() Mar. 17, 2016 02:00 AM EDT Reads: 818 |
By Elizabeth White ![]() Mar. 17, 2016 02:00 AM EDT Reads: 723 |
By Elizabeth White ![]() Mar. 17, 2016 12:45 AM EDT Reads: 712 |
By Pat Romanski ![]() Mar. 16, 2016 10:15 PM EDT Reads: 796 |
By Liz McMillan ![]() Mar. 16, 2016 10:15 PM EDT Reads: 820 |
By Elizabeth White ![]() Mar. 16, 2016 08:30 PM EDT Reads: 597 |
By Scott Allen ![]() Mar. 16, 2016 08:00 PM EDT Reads: 797 |
By Pat Romanski ![]() Mar. 16, 2016 05:00 PM EDT Reads: 631 |
By Elizabeth White ![]() Mar. 14, 2016 09:00 AM EDT Reads: 870 |
By Liz McMillan ![]() Mar. 11, 2016 04:15 PM EST Reads: 518 |