FullStack
FullStack
STACK DEVELOPMENT
FULL-STACK?
• One of the earliest “stacks” was LAMP -> JS on the Front End and Linux -> Apache ->
MySQL->PHP on the back end
• A WAMP stack also existed.
PRINCIPLES OF FULL-STACK
DEVELOPMENT
• vailability
• Performance
• Reliability
• Scalability
• Manageability
• Cost
CURRENTLY POPULAR STACKS
• HTML/CSS
• Javascript
• Java (applets)
• Types of Frameworks
• Server Side: Django, Ruby on Rails
• Client Side: Angular, React, Vue
MVC ARCHITECTURE
• A Web Application Framework Development Principle
• Model (M):
• Where the data for the DOM is stored and handled)
• This is where the backend connects
• View (V):
• Think of this like a Page which is a single DOM
• Where changes to the page are rendered and displayed
• Control (C):
• This handles user input and interactions
• Buttons
• Forms
• General Interface
POPULAR FRONT-END FRAMEWORKS
• React
• Vue.js
• AngularJS/Angular 2
• ASP.net
• Polymer
• Ember.js
THE BACK-END
• Service Architecture that drives everything (Where all the logic is)
WEB API’S
• Client-server
• Stateless
• Resource-based (vs. remote procedure call)
• HTTP methods (GET, POST, PUT, DELETE)
• Side Effects
• It’s a style, not a standard
• Don’t hate on HATEOAS
HYPERMEDIA AS THE ENGINE OF APPLICATION
STATE (HATEOAS)
• GET – “read”
• POST – “insert” (collection)
• PUT – “replace”
• DELETE – “remove”
• PATCH – “update”
• Custom (proceed with caution)
WEB STATUS CODES
• <html ng-app>
• <head>
• <script src='angular.js'></script>
• </head>
• <body>
• <input ng-model='user.name'>
• <div ng-show='user.name'>Hi {{user.name}}</div>
• </body>
• </html>
REACT
• Angular has
• modules
• controllers
• directives
Just Components
• scopes
• templating
• linking functions
• filters
• dependency injection