AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

Modern Web Development In 2015(2015年的web开发php,.net,java热度持续下降,node.js,golang持续上升 by VũNguyễn

发布者 weber
发布于 1447202953372  浏览 4271 关键词 Node.JS, Go, English 
分享到

第1页

Modern Web Development

In 2015



第2页

Modern Web Development

In 2015

Vũ Nguyễn vu.nguyen@will.vn

Liti Solutions



第3页

Agenda

1. A brief history of web development 2. Web development trends

• Architecture • Client • Server 3. Where to place your bet in 2015?



第4页

once upon a time…



第5页

<?php echo “Hey, a web server is talking to you !”; echo “How many {$item.name} do you want to buy?”

?> <form>

<input name=“your-name” /> <input name=“quantity” /> </form>



第6页

Then…



第7页

Then…



第8页

Then…



第9页

Then…



第10页

Then…



第11页

Modern Web Development

In 2015



第12页

2000









Architecture



Load Balancing Replication



Server Client



PHP ASP.NET

J2EE

HTML AJAX



Memcached Sharding

PHP ASP.NET Ruby on Rails Python

HTML AJAX



NoSQL Map/Reduce

NodeJs Ruby on Rails

Python

Single Page



MicroService Cloud Storage

NodeJs Golang

Isomorphic Offline Web App



第13页

Today web application

1. Blog, News 2. Social Network: Facebook, Pinterest, Koding 3. Collaborating: Google Docs, Asana 4. Personal: Evernote, Sunrise calendar 5. Services: Parse, Firebase



第14页

Building a blog

1. Database 2. Server code 3. HTML & CSS 4. Enjoy !



第15页

Building a news service



1. Load balancing 2. Ads networks 3. Micro Service 4. Log manager 5. Monitoring



6. Tracking 7. Comment / chat system 8. Data processing 9. Static assets 10. Video streaming



第16页

Building a collaborating service?



第17页

SERVER WEB MOBILE



第18页

http://carlos.bueno.org/2014/11/cache.html



第19页

http://carlos.bueno.org/2014/11/cache.html



第20页

http://carlos.bueno.org/2014/11/cache.html



第21页

http://carlos.bueno.org/2014/11/cache.html



第22页

http://carlos.bueno.org/2014/11/cache.html



第23页

http://carlos.bueno.org/2014/11/cache.html



第24页

Server development trends In 2015



第25页

Server development in 2015

1. Trends • API • Real-time

2. NodeJs 3. Golang



第40页

Found



Starting stack



Trends



Twitter





Ruby on Rails



Write new services in Golang

https://blog.twitter.com/2015/handling-five-billion-sessions-a-day-inreal-time



Migrate performance-critical



Modern Web DevelopmentDropbox





Python



backends to Golang

https://blogs.dropbox.com/tech/2014/07/open-sourcing-our-go-



libraries/



GitLab





In 2015Ruby on Rails



Ruby on Rails

Partially use Golang

https://gitlab.com/gitlab-org/gitlab-git-http-server



Parse





Ruby on Rails



Golang

http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-goand-saved-our-sanity/



Koding





NodeJs



Golang

https://www.quora.com/Why-did-Koding-switch-from-Node-js-to-Go



第41页

Why Golang?

1. Single binary deployment 2. Minimal language 3. Easy concurrency 4. Full development environment 5. Multi-arch build 6. Low-level interface



第42页

Client development trends In 2015



第43页

Client development in 2015

1. JavaScript • EcmaScript 2015 • TypeScript, Flow

2. Offline applications 3. Isomorphic applications 4. Mobile web



第44页

EcmaScript 1025

const sum = (list) => !list.length ?0 : (([head, tail]) => head + sum(tail)) (list);

console.log(sum([1,2,3,4]);



第45页

TypeScript

class Greeter<T> { greeting: T; constructor(message: T) { this.greeting = message; } greet() { return this.greeting; }

}

var greeter = new Greeter<string>("Hello, world");



第46页

Flow

// @flow function sum(a: int, b: int): int {

return a + b; }



第47页

Tools: Webpack & babel

1. Translate EcmaScript2015, Flow code to JavaScript 2. Organize client-side JavaScript in module 3. Live reload development

import { GitHub, Facebook } from “./module/api”



第48页

Isomorphic (Universal) JavaScript

1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.

2. Take the best of both world • Optimize load time • Interactive, optimize bandwidth • SEO, screen reader



第52页

Offline Web Applications

1. Write your web apps as desktop apps 2. Be able to run offline 3. Communicate with server via REST API or web socket 4. How: HTML5 Offline API



第55页

Mobile web

1. Almost every user has a smartphone 2. Customize for small-screen experience 3. Touch, notifications 4. Be able to run offline



第56页

Client development in 2015

1. JavaScript • EcmaScript 2015 • TypeScript, Flow

2. Offline applications 3. Isomorphic applications 4. Mobile web



第57页

Where to place your bet In 2015



第58页

Where to place your bets in 2015?



PHP Ruby on Rails NodeJs Golang



Java EE ASP.NET Micro services Cloud storage



JavaScript

Isomorphic App (Universal)

Offline Web App

TypeScript, Flow



第59页

Where to place your bets in 2015?



PHP Ruby on Rails NodeJs Golang



Java EE ASP.NET Micro services Cloud storage



JavaScript

Isomorphic App (Universal)

Offline Web App

TypeScript, Flow



第60页

Modern Web Development In 2015



支持文件格式:*.ppt, *.pptx, *.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。