Showing posts with label javascript. Show all posts
Showing posts with label javascript. Show all posts

Monday, 2 November 2015

Angula 1 / Angular 2 (+ Typescript)

Introducing AngularJS to Java Developers

Ext JS, YUI, and Dojo represent feature-complete frameworks. AngularJS, Backbone.js, and Ember are examples of lightweight frameworks. After years of experimenting with different frameworks and libraries we decided to stick with hugely popular AngularJS by Google.
I work in a Java shop, and one of my responsibilities is to create an conduct trainings (both internal and external). Several years ago I started to work with our engineers on the curriculum introducing AngularJS to an enterprise Java developer.
The learning curve of AngularJS is not too steep for Java developers, who understand the concept of containers, dependency injections, callbacks. They must become proficient with JavaScript with its functions, closures and other good stuff.
But equally important is to be familiar with todays tooling of a productive Web developer. Here’s a short list of tools that JavaScript developers use today:
  • npm – node package manager used for installing and managing development tools
  • yeoman – a scaffolding tool used to generate the initial structure of an application
  • bower – package manager for application dependencies
  • grunt – a build automation tool
  • A JavaScript testing framework
The next decision to make is how to communicate with the Java backend. Forget about JSP, servlets, and JSFs. Preparing HTML in your Java code is out of fashion. A Java server exchanges the JSON-formatted data with a single-page HTML/JavaScript front end, which use either AJAX techniques (old) or WebSocket protocol (new).
On the Java side we like to use such tried and true technologies as RESTful Web service and Java Messaging API.
When we hire a AngularJS/Java developer, we expect him to be familiar with at least 90% of all the above buzzwords. Finding such skilled software engineers may be difficult, so we’ve created a training program to prepare such a person.
By now, we’ve taught and fine-tuned this training class multiple times. The latest online version of this class consists of seven weekly training sessions (3.5 hours each) and seven consultations (from 30 to 60 min each). Programmers learn and gradually apply all of the above tools and techniques while working on the Online Auction application that has the following architecture:
javaauction-1
We have a great feedback from people who have completed this training. But everyone says it’s challenging. And it should be. Back in the nineties a person who knew one of the programming languages plus SQL could relatively easy get a well paid job. Not anymore.

Angular 2 versus React: There Will Be Blood

Thursday, 16 April 2015

Visualisation, HTML5, UX and HTTP links

modeling-languages.com: 10 JavaScript libraries to draw your own diagrams

Comparative table of JavaScript drawing libraries

To finish here is a basic comparative table between the presented libraries.
LibraryLicenseLanguage / infrastructurehigh/low levelbuilt-in editorGithub (04/02/2015)
JointJSMPLHTML
Javascript
SVG
highNo1388 stars
265 forks
RappidCommercial
1 500,00 €
HTML
Javascript
SVG
highYes
MxgraphCommercial
4300.00 €
HTML
Javascript
SVG
highYes
GoJSCommercial
$1,350.00
HTML
Canvas
Javascript
HighYes
RaphaelMITHTML
Javascript
SVG
lowNo7105 stars
1078 forks
Draw2DGPL2
commercial
HTML
Javascript
SVG
mediumNo
D3BSDHTML
Javascript
SVG
lowNo36218 stars
9142 forks
FabricJSMITHTML
Canvas
javasript
lowNo4127 stars
705 forks
paperJSMITHTML
Canvas
javascript
lowNo4887 stars
496 forks
JsPlumbMIT/GPL2HTML
Javascript
mediumNo2161 stars
563 forks

Javascript links

The Original jQuery Source Code, Annotated by John Resig

The mind-boggling universe of JavaScript Module strategies

JavaScript's 'bind' Explained in 5 Minutes

Learn JS Data Data manipulation, munging, and processing in JavaScript


15 HELPFUL CHROME EXTENSIONS FOR DEVELOPERS YOU NEED TO KNOW

JavaScript Module Pattern: In-Depth

The module pattern is a common JavaScript coding pattern. It’s generally well understood, but there are a number of advanced uses that have not gotten a lot of attention. 

The Path to Parallel JavaScript

Javascript for Java Developers

You’re Missing the Point of Server-Side Rendered JavaScript Apps









Learn JavaScript Essentials (for all skill levels)