From 3a6fc8997d85a4bea8a7216167adb59ca3735744 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 11 Apr 2016 15:38:13 -0400 Subject: [PATCH] EG 2.16 angular talk Signed-off-by: Bill Erickson --- browser-client-angular.adoc | 66 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 browser-client-angular.adoc diff --git a/browser-client-angular.adoc b/browser-client-angular.adoc new file mode 100644 index 000000000..1fb406783 --- /dev/null +++ b/browser-client-angular.adoc @@ -0,0 +1,66 @@ += Not Your High School Geometry Class: How to Develop for the Browser Client with AngularJS +:author: Bill Erickson, Software Development Engineer, King County Library System +:email: berickxx@gmail.com +:date: Evergreen Conference, May 22, 2016 +:duration: 40 +:data-uri: +:backend: slidy +:max-width: 45em + +== Browse Client Architecture Review + + * HTML Templates + * CSS + * Internationalization / Localization + * Network Communication + * Scripting + * Printing / External Storage + +== HTML Templates + +== CSS + +== I18N / L10N + +== Network Communication + +WebSocket - https://en.wikipedia.org/wiki/WebSocket + +* Full-Duplex + ** Data travels in both directions simultaneously. + ** Full support for streaming API's. + ** Only one connection to the server is required. +* Persistent Connections + ** TCP Socket setup only required on initial request. +* Supported by all major browsers +* Cross-origin support +* Server handled with Apache Webockets Gateway + ** https://github.com/disconnect/apache-websocket + ** OpenSRF/src/gateway/osrf_websocket_translator.c + + +== Scripting + +* AngularJS - https://angularjs.org/ + +== Scripting: Build and Deploy + +* Bower - http://bower.io/ + ** JavaScript distribution mechanism +* Jasmine - https://jasmine.github.io/ + ** AngularJS testing framework. +* PhantomJS - http://phantomjs.org/ + ** Browser-less (server-side) JS unit test engine. +* Grunt - http://gruntjs.com/ + ** Coordinates all of the above. +* Node.js - https://nodejs.org/en/ + ** Each of the above are Node.js packages or dependencies. + +== Printing / External Storage + + * Hatch + ** Current Repo: http://git.evergreen-ils.org/?p=working/random.git + *** Branch collab/berick/hatch2 + ** Future Repo: http://git.evergreen-ils.org/?p=working/Hatch.git + * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:hatch:who_needs_it[Who Needs Hatch?] + -- 2.11.0