Skip to main content

Angular JS/ Chrome App

Proposed by Lydia Li

Where will the conversation continue?
feel free to email me and maybe we can set up a regular meeting.
Notes

Angular JS / Chrome App
Notes by Eli Lev (apologies in advance for any mistakes)
- evaluated
    - ember.js (dropped this too)
    - backbone (you need to add a lot more to it)
    - angular (gives you everything i.e. plumbing)
    
- group's application
    - old application: java/swing desktop application; lots of headache; updates for security wasn't as fast as java; not stable; keeping up with Java/window versions was problematic
    - new application:
        - thin client via Chrome app running on a Chromebook
        - resilient to network/power failures
        - objective: build a web application that can run without the web
    
- going for SPI
    - need to figure what is done when
    - angular provides that for you
    - need to do the "angular" way
    - MVW = model-view-whatever
    - forces you to separate model/view
    - works well with JSON and RESTful api
    
- api used
    - html canvas: UI components
    - webworker: multi-threaded stuff
    - file api
    - file system api (chrome browser/maps): needed since application targeting chrome books
    - audio api: capture student audio responses; simulated oral proficiency interview
    - talking to server using RESTful api
    - IDE:  intelliJ Webstorm (can also use Eclipse)
    
- learning curve
    - high learning curve; but dev with Java, struts it's not that hard
    - lots of jQuery causes issues
    - went to angular js training; Webstorm recommended
    - easiest to start: seed project (search for "angular seed project" aka https://github.com/angular/angular-seed) - sets up scaffolding  (You can also use Yeoman which generates the scaffolding)
    - good youtube videos (participant will tweet it it)
    - safari books online
    - very good 5 minute videos at egghead io:  https://egghead.io/
    - Angular JS site:  https://docs.angularjs.org/tutorial
    
- sandboxing
    - save to local device
    
- chrome app (https://developer.chrome.com/apps/about_apps)
    - runs on Chrome OS
    - can run as an app in regular OS (it is fundamentally a customized version of chrome)
    
- difficulties
    - sandbox file system was an issue because it was brand new tech
    
- server side
    - course work
    - data served is json
    
- developer background on this project
    - java background
    - lots of struts and jsf
    - mvc concept is not new
    - angular code fairly easy to read; people with jQuery experience find angular difficult
    
- authentication
    - kerberos authentication
    - but general webapp will require webauth
    
- converting to mobile app (i.e. iPad and mobile safari, etc...)
    - hasn't looked into it
    - current app had to be used with a machine with keyboard (i.e. Chromebook is the cheapest way to go)
 
Useful information on Angular Accessibility
AngularJS Accessibility by Marcy Sutton at ng-europe 2014 – YouTube
https://www.youtube.com/watch?v=dmYDggEgU-s
 
Angular Accessibility
http://marcysutton.github.io/angular-a11y/#/
 
AngularJS Material Design  MarcySutton.com
(no longer available)
 
angularjs Developer Guide Accessibility
https://docs.angularjs.org/guide/accessibility
 
Using ngAria  AngularJS
http://angularjs.blogspot.com/2014/11/using-ngaria.html
 
Link to a series of blog posts about making fixes to TODOMVC, but you should start from the end as I think these will make sense when read oldest to most recent:
(no longer available)