
Adopting Node.js and CoffeeScript in a Software Design Course Adopting Node.js and CoffeeScript in a Software Design Course Introduction Midwest Instruction and Computing Symposium Course Outline Server April 25, 2014 Technologies Node.js CoffeeScript MongoDB Maxwell Marti Client Technologies [email protected] jQuery Backbone.js Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion The Software Design and Development Course Adopting Node.js and CoffeeScript in a Software Design Course Single project Introduction Course Outline Small groups Server Technologies Node.js Agile methodology CoffeeScript MongoDB Client External customer: LightSide Labs Technologies jQuery Backbone.js Current technology Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion Node.js Adopting Node.js and CoffeeScript in a Software Design Course Framework for network applications Introduction Uses the V8 JavaScript Engine Course Outline Server Technologies Built in web server Node.js CoffeeScript MongoDB Asynchronous I/O and JavaScript evaluation Client Technologies Single-threaded event loop jQuery Backbone.js Bootstrap Large number of additional modules Testing and Integration Course Workflow Strider Mocha Conclusion Node Modules Adopting Node.js and CoffeeScript in a Software Design Course Introduction Course Outline Express Server Technologies Node.js Hogan CoffeeScript MongoDB Blanket Client Technologies jQuery Backbone.js Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion CoffeeScript Adopting Node.js and CoffeeScript in a Software Design Course Introduction A language that transpiles to JavaScript Course Outline Server Clean syntax Technologies Node.js CoffeeScript About 1/3 fewer lines of code MongoDB Client Technologies Scope safety and object encapsulation jQuery Backbone.js Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion CoffeeScript to JavaScript Example Adopting Node.js and var myObj, num, CoffeeScript in a Software numSquared, square; Design Course num = 9; num = 9 Introduction Course Outline square = (x) -> x * x square = function(x) { Server numSquared = square num return x * x; Technologies Node.js }; CoffeeScript myObj = MongoDB name: "Mr. Object", numSquared = square(num); Client Technologies likes: "squaring numbers", jQuery Backbone.js mySqare: square myObj = { Bootstrap name: "Mr. Object", Testing and Integration likes: "squaring numbers", Course Workflow mySqare: square Strider Mocha }; Conclusion MongoDB Adopting Node.js and CoffeeScript in a Software Design Course Introduction Document oriented database Course Outline Server Records in JavaScript Object Notation (JSON) Technologies Node.js CoffeeScript Queries in JavaScript MongoDB Client Technologies Mongoose module provides extra utility jQuery Backbone.js Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion jQuery Adopting Node.js and CoffeeScript in a Software Design Course Introduction DOM interaction library Course Outline Server Ubiquitous Technologies Node.js CoffeeScript Powerful selectors and functions MongoDB Client Technologies Integrates with other front-end tools jQuery Backbone.js Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion jQuery Example Adopting Node.js and CoffeeScript in a Software Design Course // set html for element $("p:first").html( "This is the <em>first</em> paragraph"); Introduction Course Outline Server // set value for all inputs of myClass Technologies $("input.myClass").val("default text"); Node.js CoffeeScript MongoDB // bind a function to the click event of an element Client Technologies $("#myButton").on("click", function(){ jQuery alert("Button was clicked"); Backbone.js Bootstrap }); Testing and Integration Course Workflow Strider Mocha Conclusion Backbone.js Adopting Node.js and CoffeeScript in a Software Design Course MV* Framework for client-side applications Introduction HTML rendering on the browser Course Outline Server Technologies Models, Views, Routers Node.js CoffeeScript MongoDB Hierarchical views with event emission Client Technologies jQuery REST API conformity with Models and Collections Backbone.js Bootstrap Minimal opinionation Testing and Integration Course Workflow Strider Mocha Conclusion Bootstrap Adopting Node.js and CoffeeScript in a Software Design Course Formerly Twitter Bootstrap Introduction Course Outline Responsive grid layouts Server Technologies Node.js CSS classes and JavaScript utilities for the client CoffeeScript MongoDB Client Easy to customize Technologies jQuery Backbone.js Simplifies web interface design Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion Development Workflow Adopting Node.js and CoffeeScript in a Software Design Course Introduction WebStorm IDE (based on IntelliJ IDEA) Course Outline Server Unit testing with Mocha Technologies Node.js CoffeeScript Version control with GitHub MongoDB Client Technologies Continuous integration with Strider jQuery Backbone.js Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion Strider Adopting Node.js and CoffeeScript in a Software Design Course Continuous integration and deployment server Introduction Pulls code from GitHub Course Outline Server Technologies Compiles Coffeescript and runs tests Node.js CoffeeScript MongoDB Computes code coverage metrics Client Technologies Deploys projects to web server for evaluation jQuery Backbone.js Bootstrap Supports plugins and custom shell scripts Testing and Integration Course Workflow Strider Mocha Conclusion Unit Testing With Mocha Adopting Node.js and CoffeeScript in a Software Design Course Introduction Defines structure and syntax of test code Course Outline Server Choice of assertion libraries Technologies Node.js CoffeeScript Different testing styles supported MongoDB Client Technologies Versions for Node.js and client-side code jQuery Backbone.js Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion Conclusion and Observations Adopting Node.js and CoffeeScript in a Software Design Course Unified language both helps and hurts students Introduction Course Outline Particular difficulty with Backbone.js Server Technologies Node.js Module driven development CoffeeScript MongoDB Client High velocity and low familiarity affects testing practices Technologies jQuery Backbone.js Customer interaction Bootstrap Testing and Integration Course Workflow Strider Mocha Conclusion.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages15 Page
-
File Size-