Introduction To Web Development & The New Digital Workplace

32
1 An Introduction to Web Development & The New Digital Workplace Lee Jen Wei July 2015 TechTalk:

Transcript of Introduction To Web Development & The New Digital Workplace

Page 1: Introduction To Web Development & The New Digital Workplace

1

An Introduction to

Web Development&

The New Digital Workplace

Lee Jen WeiJuly 2015

TechTalk:

Page 2: Introduction To Web Development & The New Digital Workplace

Agenda

•Culture & Trends•Technical Tools

Page 3: Introduction To Web Development & The New Digital Workplace

• Teaches how to drive a startup or producto how to steero when to turno when to persevereo grow a business with

maximum acceleration

• A principled approach to new product development

• The New Corporate Innovation Trend

Lean startup

Page 4: Introduction To Web Development & The New Digital Workplace

Lean startup

Page 5: Introduction To Web Development & The New Digital Workplace

Lean startup

Page 6: Introduction To Web Development & The New Digital Workplace

Web Development on Cloud

Page 7: Introduction To Web Development & The New Digital Workplace

Web Development on Cloud

Page 8: Introduction To Web Development & The New Digital Workplace

Agile Development

Page 9: Introduction To Web Development & The New Digital Workplace

Agile Development

Page 10: Introduction To Web Development & The New Digital Workplace

• Scrum• Kanban• Extreme

Programming (XP)• Feature-Driven

Development (FDD) etc

Agile Development

Page 11: Introduction To Web Development & The New Digital Workplace

Hackathon• A periodic event where programmers and others get

together at some venue to collaboratively create a new application or software system within a few hours or a few days.

Page 12: Introduction To Web Development & The New Digital Workplace

DevOps

Page 13: Introduction To Web Development & The New Digital Workplace

• Infrastructure as Code

• Continuous Integration

+

DevOps Practices

Page 14: Introduction To Web Development & The New Digital Workplace

Microservices• Composed of small, independent processes

communicating with each other, often using HTTP APIs.• These services are small, highly decoupled and focus on

doing a small task.Unix Philosophy"Do one thing and do it well"

Page 15: Introduction To Web Development & The New Digital Workplace

Microservices

Page 16: Introduction To Web Development & The New Digital Workplace

• LAMP (WAMP, MAMP)o Linux (or Nginx)o Apacheo MySQL (or Oracle)o PHP, Perl Python (or Ruby)

• MEANo MongoDB o Express.js – a Node.js web

app frameworko Angular.js – frontendo Node.js – event-driven

server

Technology Stack

Page 17: Introduction To Web Development & The New Digital Workplace

• Open Source• Versioningo Git, Subversion (SVN)

• Issue/Project Tracker or Ticketing o JIRA, Redmine, Mantis Bug Tracker

• DevOps / Continuous Integrationo Puppet, Chef, SaltStack, Ansibleo Jenkins CI, CruiseControl, Go, Team City

• Server-side Scripting

Web Development Tools

Page 18: Introduction To Web Development & The New Digital Workplace

Web Development• PHP• Ruby (on Rails)• Python (Django)• ASP.NET• JavaScript (Ajax, Node.js, AngularJS, Backbone.js, Ember.js etc)• Java• Perl• Scala (Play Framework)• Erlang• Clojure• Groovy/Grails etc

Page 19: Introduction To Web Development & The New Digital Workplace

Web Development

Page 20: Introduction To Web Development & The New Digital Workplace

What is PHP?• PHP is mainly focused on server-side scripting, so you

can do anything any other CGI program can do, such as collect form data, generate dynamic page content, or send and receive cookies.

• The best things in using PHP are that it is extremely simple for a newcomer, but offers many advanced features for a professional programmer.

Page 21: Introduction To Web Development & The New Digital Workplace

Sites Using PHP

• Yahoo, Facebook, Google, YouTube, eBay, Flickr, Zynga, Wikipedia, Craiglist, Digg, etc

• Cisco, Oracle, Intel, Nokia, China Mobile,• Wordpress sites (CMS), Drupal sites (CMS)

Page 22: Introduction To Web Development & The New Digital Workplace

PHP: Hypertext Preprocessor• Development started in 1994, by Rasmus Lerdorf.• Server-side scripting language• Interpreted language• Multi-platform (Linux, *nix, Windows)• Syntax resembles C and Perl• Simpler and faster to develop in (than C and Perl

or Java)• Fast, flexible and pragmatic

Page 23: Introduction To Web Development & The New Digital Workplace

PHP: Where does it fit?

Web Browser

Internet orIntranet

page

Web

HTTPRequest

Page

Webpage

Web

Server

server

Addedfunction

ality

Addedfunction

ality

Client-side“Active pages”

JavaScript, VBScript,

Applet, ActiveX

Server-side“Dynamic

pages”

CGI, SSI, Server API,

ASP, JSP, PHP, COM/DCOM,

CORBA

Active and dynamic page technology can be used together – server-side program generates customized active pages.

Page 24: Introduction To Web Development & The New Digital Workplace

PHP: Putting it together

Web-ClientWeb-Server

DBMS

DatabaseOutput

SQL commands

PHP

HTML-Form (+JavaScript)

Reply

WWW

SubmitData

Call PHPinterpreter

Response Response

LAN

Web-Browser

DatabaseServer

Page 25: Introduction To Web Development & The New Digital Workplace

PHP: MVC FrameworksModel-View-Controller (MVC)• Yii• CakePHP• CodeIgniter• Symfony• Zend Framework• Kohana• many others

Page 26: Introduction To Web Development & The New Digital Workplace

PHP: Mobile Web Apps• Common to use server-side PHP to develop Mobile

Web Apps or Hybrid Apps– Reuse php web site backend components and

logic– Enjoy the advantages of PHP

Eg. PHP Yii Framework + jQuery Mobile (or any mobile web app framework)

Page 27: Introduction To Web Development & The New Digital Workplace

PHP: Command line CLI• What is this good for:

– Parsing files to put into a database– Ideal for scripts regularly executed using cron (on

*nix or Linux) or Task Scheduler (on Windows). – Anything you use a shell script or perl script to do

• Variables of use:– $argc, $argv[]– $stdin, $stdout, $stderr

Page 28: Introduction To Web Development & The New Digital Workplace

PHP: Examples

Page 29: Introduction To Web Development & The New Digital Workplace

PHP: Pros• Open source, completely free• Specifically designed for Web Development /

Developers• Excellent documentation• Simplicity, easy to learn, including frameworks• Largest community support• Multi-platforms• Easy deployment (just copy the files)• Easy to scale up and out• Readily available pool of talents/coders

Page 30: Introduction To Web Development & The New Digital Workplace

PHP: Pros• Rapid prototyping, fast development time• Lightweight, low overheads• Fast execution time• Silo process, loosely coupled• Highly configurable• Procedural / Object Oriented programming• Extensive libraries / modules • Support wide range of interfaces (DB, Outputs,

Protocols, Caching etc)

Page 31: Introduction To Web Development & The New Digital Workplace

PHP: Cons• Best used with caching stack• Not thread-safe• No strong standards of coding style• Flexible, many ways to accomplished same task• Not strongly typed, implicit conversion• Not particularly sexy• No built-in scheduler• Not really for GUI or desktop apps

Page 32: Introduction To Web Development & The New Digital Workplace

Thank You