e090cf9b7ef548f42ce40668f9501128.ppt
- Количество слайдов: 31
Linked. In Mobile How we do it?
Build Platform Design Code Testing Deploy i. OS Android Browser Other
Code
i. OS Native 30% Android 80% Mobile Web 100% Mobile Web JS/HTML Screen based REST API Mobile Server (node. js + Mongo. DB) Domain REST API Linked. In Platform Other OS Wrappers 100%
i. OS Native 30% Android 80% Mobile Web 100% Mobile Web JS/HTML Screen based REST API Mobile Server (node. js + Mongo. DB) Domain REST API Linked. In Platform Other OS Wrappers 100%
Typical Web Application Client/Server Border Controller View Model
Rails Systems Client/Server Border Process Rails Controllers Active. Record ERB
Tiered Systems Client/Server Border Process Controllers Templating Process Data Service
Real Systems Client/Server Border Process Controllers Process Data Servic e Process . . . Templating Process . . . Process Trackin g Process BG Queu e
Real HTML 5 Systems Browser / Mobile Client Controllers Templating Client/Server Border Process Data Servic e Process . . . Process Trackin g Process BG Queu e
Real HTML 5 with Node. JS Browser / Mobile Client Controllers Templating Client/Server Border Node. JS - Aggregation, Formatting Process Data Servic e Process . . . Process Trackin g Process BG Queu e
Why Node. JS: Evented & JS • I/O Bound for most interaction • Aggregation and Manipulation of Strings • Lots of persistent socket connections • Client developers are doing server development
Mobile Server • Stateless • • Platform Transport: JSON In / JSON Out Load Balancer Nginx Node JS Server Nginx as Web Server CDN for Static Content Log / Track Everything Trackin Mongo Logging g DB Server Linked. In Platform
Screen Based JSON • • • Single Request per screen { ttype: nut 1, time: 298349823, header: “Wow, that is pretty cool”, . . . footer: “shared by Kiran Prasad”, id: 1298398127, JSON is template based Updatable on server }
i. OS JS/HTML + Native Android Native Mobile Web JS/HTML Screen based REST API Mobile Server (node. js + Mongo. DB) Domain REST API Linked. In Platform Other Wrap JS/HTML
• • • i. OS Native for all infinite lists Native for Window Manager JS/HTML for all screens that are detail views (70% of App today) Per screen choice for the stuff in the middle Async JS/i. OS Bridge
i. OS JS/HTML + Native Android Native Mobile Web JS/HTML Screen based REST API Mobile Server (node. js + Mongo. DB) Domain REST API Linked. In Platform Other Wrap JS/HTML
Android • • Native for all the screens Web. View for 20% of screens Moving towards more HTML 5 Contacts locally stored but rest only in memory cache
i. OS JS/HTML + Native Android Native Mobile Web JS/HTML Screen based REST API Mobile Server (node. js + Mongo. DB) Domain REST API Linked. In Platform Other Wrap JS/HTML
Mobile Web • • Backbone for MVC • Underscore for utils Zapto for DOM Manipulation Modified i. Scroll for Scrolling • • • Local. Storage for personal Cache SASS for CSS Closure for compiling Hash based Loader
Test
• Automation: Test Vows, Robotium, Selenium, Fone. Monkey, GHUnit • Hudson for build management • Internal Tool for Layout Testing • Phantom. JS based Tool for Performance • Bug Bash + 2 Week Demos • 2 Week Team Demo
Deploy
Deploy / Monitor • • Enterprise Build available to employees Ship everything 2 times a week Apps and Server Deploy independently 2 Week Bake for Big Stuff Keynote for Performance and Availability monitoring Device. Anywhere for compatibility testing Internal monitoring for QPS, Uptime, etc
Thanks! & Questions?
Appendix
Product Design
Interaction vs Visual • Designing a house’s floorplan • Focus on Rooms, Doors and Hallways • Stay away from Paint, Furniture and Carpet • Has & Does for each screen • Black & White then add color
Search, Compose, Room Navigation Stream You Inbox Notifications Breadth < 4 Depth < 3 Following
Adjust for App Platform • On Screen Back vs Hardware Back • Up vs Back / Stacks vs Pages • Pull To Refresh vs Button Refresh • Settings • Visual Design
Mobile Web Enter the house SEO Email Organic
e090cf9b7ef548f42ce40668f9501128.ppt