On Github spbreed / spbreed.github.io
Karthik Ramamoorthy
1 November 2014
Senior Consultant at Greystone Solutions, Boston.
MCTS, MCDS, MCP
@spbreed | http://spbreed.wordpress.com https://github.com/spbreed
Andrew Connell
John Papa
HotTowel AngularJS App HotTowel AngularJS App - Plural Sight
Thorsten Hans
Web standards are the formal, non-proprietary standards and other technical specifications that define and describe aspects of the World Wide Web.
Protocols, best practices, Strategies used with any front end development
Helps to develop powerful, flexible, modular, expressive enterprise applications using HTML, Javascript and CSS
AppModel is now a standard in developing and deploying apps
Adopted by few big names including Microsoft
Powerful Client side MVC\MVVM framework to create large enterprise applications
Over the past few years, Single Page App’s (SPA’s) are gaining of a lot of traction from front end developers and end users. HTML templating feature in Angular makes it possible to easily switch the HTML in SPA’s.
Directives are markers on a DOM element which attach a special behavior to it.
Simple directives like ng-model,ng-repeat,ng-show, etc are building blocks of an AngularJS App
Large Scale SharePointApps using AngularJS - Andrew Connell
More OpenSource videos follows
ShareCoffee is a lightweight library for calling SharePoint services
App Web Host web Chrome Controls User Profiles Search Supports AngularJSSPAngularApptemplate is a Nuget package which creates a starting point for building SharePoint hosted SPA's.
To install SPAngularAppTemplate
Create Expenses list on host web. Download List template Delete all the default files in the sp hosted app before installing this package Install the packagePM> Install-Package SPAngularAppTemplate
Test Tools
Javascript Engines
Languages
Testing Page loads and End to End testing
Unit testing
Load Testing
Jasmine is an automated testing framework for JavaScript.
describe('angularjs homepage', function() { it('should greet the named user', function() { browser.get('http://www.angularjs.org'); element(by.model('yourName')).sendKeys('Julie'); var greeting = element(by.binding('yourName')); expect(greeting.getText()).toEqual('Hello Julie!'); });
Locating HTML
Methods
# Install protractor from NPM. Run this on the node project folder npm install protractor@1.3.1 --save-dev #Run this from the project folder to update web driver node_modules\.bin\webdriver-manager update --ie #Add Screenshot capabilities to protractor npm install protractor-html-screenshot-reporter --save-dev
// An example configuration file. exports.config = { // Do not start a Selenium Standalone sever - only run this using chrome. chromeOnly: true, chromeDriver: 'node_modules/protractor/selenium/chromedriver', //baseURL // baseUrl: 'https://spbreed02.sharepoint.com/sites/appdev/_layouts/15/appredirect.aspx?instance_id={7000E10A-58A6-4668-AEDC-0B1FD6091280}', // Capabilities to be passed to the webdriver instance. capabilities: { 'browserName': 'chrome' }, // Spec patterns are relative to the current working directly when // protractor is called. specs: ['angularapp_spec.js'], // Options to be passed to Jasmine-node. jasmineNodeOpts: { showColors: true, defaultTimeoutInterval: 30000 } };
#Run the sample configuration file node_modules\.bin\protractor chromeOnlyConf.js