full stack PHP

A Survey


@WeAreFractal

full stack JS

A Survey


@WeAreFractal

disclaimer

Stack?

When referring to a "development stack" or simply "stack", we're talking about all the components you use in development and in production to create an application

Every developer or development shop tends to standardize on and always be refining their stack to help them build better apps faster

lamp stack


lamp stack


full stack


With the advent of Node.js we can now write all-JavaScript apps - running JS for our business logic 
on the server as well as in the client (in the browser)

node stack


node stack





development

Source Control

  • USE GIT
  • USE GITHUB github.com
  • use git to deploy to remote server

Editor/IDE


cli : $ sublime . &
Split windows 
SublimeLinter , coffee, jade  

Console / browser


  • system console
  • pop-down terminal (ie guake on linux) 
  • chrome 
  •  

SCREen layout/workflow


  • Editor left side of the screen
  • Editor divided into split screen for code and tests
  • System console for node OR browser for frontend right side of screen
  • pop-down terminal (ie guake on linux) for "out of context" tasks 
  •  

    build process



    - I do mine in coffeescript
    - Grunt- contrib has several common/useful (copy, coffee)
    - Grunt-mocha-simple

    testing/specs



    language choice

    Continuous Integration




    application

    control flow

    utility libs

    SERver


    websockets


    application framework


    http://meteor.com/  
    http://derbyjs.com/

    Client

    templating


    templating is a way to separate application logic
    from display 

    css


    Client side MVC


    TodoMVC http://addyosmani.github.com/todomvc /  
    Backbone http://backbonejs.org/
    Knockout http://knockoutjs.com/
    AngularJS http://angularjs.org/
    Dermis https://github.com/wearefractal/dermis

    Module Loading




    data stores

    mongo

    • Document Store, great all-purpose DB (and mysql replacement)
    • Uses data structures (JSON) vs. SQL 
    • $ sudo apt-get install mongodb

    + mongoose http://mongoosejs.com/
    smog http://smog.jit.su/

    redis

    http://redis.io/
    key/value store 

    https://github.com/mranney/node_redis

    boilerplates

    • https://github.com/wearefractal/boiler
    • https://github.com/contra/boiler
    • https://github.com/addyosmani/backbone-boilerplates
    • https://github.com/mape/node-express-boilerplate