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