Angular JS QuickStart: extremely productive development of HTML5 webapps

DATE : 10 APRIL

This workshop is aimed at web developers, JavaScript developers but also developers with any background who understand JS basics. It will present an ever more popular and growing Open Source framework, the extremely robust and simple Angular JS.

LANGUAGE
Italian

DURATION
The workshop is full-day (8 hours) from 9:00 to 18:00, with one hour lunch break.

LOCATION 

c/o Polo Didattico - Piazza Oderico da Pordenone, 00145 Roma

CHECK IN: 8.30 – 9.00

PRICES:

Early Bird: € 95 by Wednesday, 2 April  23:30 CET

Regular ticket: € 135

 

Carlo Bonamico

Carlo’s passion for Software Development began with his C128, then grew with Linux, Java/JavaScript, web & enterprise applications, and now to cloud & mobile. After a PhD and research experience at the University of Genova and the CNIT National Telecommunications Research Consortium, and an exciting time at startup Eptamedia, he’s now a Solution Architect and Senior Trainer at NIS s.r.l.. His personal communication style as an architect and trainer, both technically precise and able to present in an engaging way complex topics to an heterogeneous audience has been appreciated online (slideshare presentation on hudson with over 110K views) and at many JUG / Community events from Javapolis 2005 (Quickie) to Codemotion Rome (2007-2013).

@carlobonamico

Overview

Many online services and applications have demonstrated the power of the HTML5/JS platform, which is now the de facto preferred platform for building innovative online services.
In practice however, language characteristics and browser fragmentation turn designing, building and maintaining a complex Javascript application into a remarkable challenge.

This workshop is aimed at web developers, JS developers but also developers with any background who understand JSbasics. It will present an ever more popular and growing Open Source framework, the extremely robust and simple Angular JS.
Angular JS provides a set of almost “magic” tools that automate and simplify front-end development, making it remarkably easier to
-develop web applications that can be ported on Desktop and Mobile
-easy to test
-extremely modular and reusable
-easy to integrate with graphic resources (CSS, HTML), in an integrated Designer->Developer workflow
while at the same time being extremely productive (a third of the lines of code with respect to a typical JS application)

We will discuss and interact with topics ranging from HTML5, Angular’s Model-View-Controller (or better MVVM), two-way data-binding, REST resource access, page navigation and integration of external JS libraries, widgets and components

Approach
The minimum necessary theory, and lots of examples and experiments to learn “hands on”.

Training objectives
This workshop distilles a mix of theory and practice. Course topics will be explored by developing a simple but realistic web application, and Angular APIs and features will be introduced and demonstrated by implementing the requirements of a modern HTML5 app:
-high interaction
-stylish design
-integration with REST or event-based backends
-integrating components of heterogeneous libraries
-managing state and browser history

At the end of the workshop the learner will have acquired the tools and know-how needed to structure an AngularJS applications, including
-Angular features and potential
-the why’s and how’s of MVC
-exploiting Dependency Injection for modular and reusable apps
-making testing easier

Hardware and software requirements
Participants are required to bring their own laptop. The labs require an HTML5 Browser (Chrome or Firefox), text editor or IDE, supporting HTML5, CSS3, JavaScript.

Topics
Features of a modern HTML5 web application
-interaction
-ease of use
-responsive design and multi-device support
-off-line support
-REST services integration
Limitation of traditional frameworks
The ideal framework

An example: managing online orders for Pizza5 franchise
-requirements

Enter Angular JS
Main concepts: MVC, data binding, HTML-oriented
Lab: writing Pizza5 Home Page

Data binding (two-way, applied to both values and tag attributes)
Lab: customer registration form

From Data Binding to MVC / MVVM
-controllers and their role
-form values initialization
Lab: defining model and controller for pizza menu and order cart

Managing state with scopes (local and global)
Lab: sharing data between page sections

Development and Debug tools: AngularJS Batarang

Advanced Data Binding: iterating on collections
Lab: generating the pizza menu

Writing controllers: reacting to page events and user actions
Lab: adding pizzas to cart

Advanced Views:
-filters
-search
Lab: filtering pizzas by name and ingredients

AngularJS’s secret: Dependency Injection
-what is it?
-how to configure it
Lab: integrating REST services with $resource

Application Structure
-modules
-configuration
Lab: splitting the menu and cart modules

Navigation, $routeProvider, partial views
Lab: splitting the app in navigable and bookmarkable sections

Test support (in two minutes)
Lab: unit testing controllers

References for further exploration
-Angular-ready component libraries
-integrating custom code
-what are directives?
-AngularUI
-learning resources

 

A 40% discount of regular tickets price is offered to students. For any information please contact us at info@codemotion.it attaching document that certifies your student status.

The workshop will be held only if the minimun number of attendees is reached

For further information about this workshop email us at workshop@codemotion.it

Back to workshops list

Main Sponsor