Participants:
Hannan Butt (Facilitator)
Darin Phelps
Brooks Swinnerton
Mark Macmurdo
Brendan Woodcock
Rob Capellini
Aleksandrs Rogozins
Web frameworks:
Ruby on Rails
Django
PHP
Hannan – primarily using Ruby and Java
AJAX – Async Java and XML
Process:
1. first step is development on a local machine
2. getting onto a server (can use cloud computing tech aws, hiroku, etc)
3. deployment
Development
HTML / CSS – latest technologies HTML5 and CSS3
– developing with CSS — keep in mind that browsers all use different defaults for text rendering, etc
– use CSS resets (e.g. Yahoo! reset)
Dynamic CSS generators – SAS, moustache, LEX – make it easier to write CSS code
Cross-browser testing – Selenium (browser automation) — used for automated testing, Sauce Labs cloud-based Selenium implementation, can select operating systems and devices
– when testing usually test to the latest browser version (jquery dropping ie 5 or 6)
– icon fonts – using icons instead of local fonts from user
Javascript – AJAX, Node.js (server-side Javascript), Backbone.js, Require.js (modularization and dependency management of Javascript code), jQuery / jQuery UI, Coffee Script (higher level of abstraction of Javascript)
Kickstarter HTML, Twitter Bootstrap – HTML library where you get a set of pre-designed elements — takes away a lot of the burden of using javascript — helps sites look the same across
Grids – Keeps alignment of every single element in a website — allows for easier implementation of responsive design
Don’t automatically use Webkit, because it’s not necessarily cross-browser compliant
Yahoo! Query Language – allows you to use any website as an API – they webscrape the page for you and turn the page into an API
Search Engine Optimization – need to keep your site searchable
Considerations when choosing framework
– Security
– Learning curve
– Speed
– Support
– Maturity of support community
Facebook’s GitHub page — compile PHP to C code and run the C code
Laravel – PHP framework, version 4.0 coming out today — very similar to Rails (migrations, composer similar to gems, etc)
Model , View, Controller Framework
– Model – data layer
– View – what the user sees
– Controller – controls flow between models
Deployment
Putting your app on a server that can run it. Tomcat — allows Java to be run as a web app. Capistrano for Ruby — deploys onto a development, staging, and production environment all at once.
Jenkins – allows you to do automatically deploy code
You have to deploy without the end user know that something is happening — you never see Google go down!