LinkedIn Mobile How we do we do it?. Build Design Code Testing Deploy Platform iOS Android Browser Other.

Slides:



Advertisements
Similar presentations
UBIQUITY V3 An extensible platform for creating dynamic, customized, and geocentric native mobile applications.
Advertisements

Developing downloadable mobile apps using HTML5 and PhoneGap Apache Callback Ron Perry, CTO, Worklight Inc.
Testing Web Applications & Services Testing Web Applications & Web Services.
Status Enterprise System Overview. What is Status Enterprise? Status is an HMI/SCADA system with live and historical data, trending, alarming, web and.
D4.3 Additional Applications iPad Application – Facebook Integration George Chrysochoidis i-sieve technologies ltd. PATHS Project Review, 12th March 2014,
John Culviner johnculviner.com DEMO CODE:
Amanda Silver Director of Program Management Visual Studio Tools for Client Applications Cross-Platform Development using Visual Studio.
Cross Platform Mobile application development HTML5 and JavaScript Chris Connor.
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
Kay Herzam Herzam IT Consulting What‘s new in ASP.NET MS TechTalk.
Cross Platform Mobile Backend with Mobile Services James
WebMatrix 2 /* web with benefits */. Everything You Need Start create new from OSS apps or templates, or start with existing sites hosted remotely or.
Visual Studio 2012 or 2013 VisualStudio.com (or) Github (or) Bitbucket (or more) Azure Cross-Platform Command Tools Setup if you want to play too.
Lightning Talk Fred Rodriguez Nguyen Do CPSC 473 May 6, 2012.
Three-tier Mobile Application Testing Framework:
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:
Developing Better PhoneGap Apps Session 608 / DevLearn 2013 Daniel Pfeiffer Lead Developer / Float Mobile Learning.
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
HTML+JavaScript M2M Applications Viewbiquity Public hybrid cloud platform for automating and visualizing everything.
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
“A Project Managers Perspective” Presented by: Brian Fischer Houston Engineering, Inc. WLIA Conference, 02/14/2013 A JOURNEY THRU MOBILE APP DEVELOPMENT.
JavaScript Framework for Rich Apps in Every Browser Maura Wilder Joan Wortman
3-Tier Web Application Architecture. Simple Log-in public String button1_action() { // TODO: Process the button click action. Return value is a navigation.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
IOS and Android with Windows Azure Websites Name Title Address Website.
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Understand your end-users and your app with Application Insights.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
I am familiar with Mobile Services Node.js Express ASP.NET Web API SQL Table Storage Blob Storage WNS APNS GCM Mongo DB Notification Hubs Source.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Extending the Operations Dashboard
| | Top 4 Benefits of Hybrid Mobile Apps.
Restricted © Siemens AG All rights reserved A Developer’s Insights Into Performance Optimizations for Mobile Web Apps CT DC AA EM LP2 | June 2015.
Node.Js 1. 2 Contents About Node.Js Web requirement latest trends Introduction Simple web server creation in Node.Js Dynamic Web pages Dynamic web page.
Advanced Windows Store App Development with HTML5 Refresh / Exam Prep M6: Tools and Asynchronous Programming Jeremy Foster Microsoft Technical.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Today’s Applications Web API Browser Native app Web API Web API
NativeScript – Open source platform to build Native iOS/Android Apps.
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
TNPW1 Ing. Jiří Štěpánek.  In current version (XHTML 1.0 strict)  No multimedia elements  No semantics elements  Only few input types  Only few document.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
MeteorJS An easy way to do anything Peter Ilfrich – IBM Research Australia.
2014 Mobile Application Development at LinkedIn Aarthi Jayaram, Engineering Manager, LinkedIn 10/10 #GHC
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
Virtual techdays INDIA │ November 2010 SharePoint 2010 – Your one stop shop for all portal requirements Saranya Sriram │ Developer Evangelist, Microsoft.
Varnish Cache and its usage in the real world Ivan Chepurnyi Owner EcomDev BV.
1 Cutting Edge FE technologies for complex product August 6, 2015.
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
Mary Ganesan and Lora Strother Campus Tours Using a Mobile Device.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Creating mobile applications that integrate with SharePoint 2013 on-
Introduction to Xamarin C# Everywhere
Physics validation database
Azure Primed Randy Pagels Sr. Developer Technology Specialist
Clientside MVC: A Journey
Real quick, just to understand the audience, how many of you:
The Transition to Modern Office Add-in Development
CMPE 280 Web UI Design and Development October 26 Class Meeting
Web Technologies Basics
Ionic Framework Kerry Ritter
Office Power Hour New developer APIs and features for Apps for Office
Myth Busting: Hosted Web Apps
Mary Grygleski Developer Advocate (Java) James Weaver
July 2016 Eran Kinsbruner @ek121268
PaaS - Development Stefan Geiger Gerry
Rich single page applications with SharePoint
MOBILE CONTROLLED LIGHTING Prototype
Module P3 Practical: Building a webapp in nodejs and
Office 365 Development.
Introduction.
Running C# in the browser
Presentation transcript:

LinkedIn Mobile How we do we do it?

Build Design Code Testing Deploy Platform iOS Android Browser Other

Code

Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS Native 30% Android 80% Mobile Web 100% Other OS Wrappers 100% Mobile Web JS/HTML

Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS Native 30% Android 80% Mobile Web 100% Other OS Wrappers 100% Mobile Web JS/HTML

Model ViewController Typical Web Application Client/Server Border

ActiveRecord ERB Rails Controllers Rails Systems Process Client/Server Border

Data Service TemplatingControllers Tiered Systems Process Client/Server Border

Real Systems TemplatingControllers Process Data Servic e Process Data Servic e Process Trackin g Process BG Queu e Process Client/Server Border

TemplatingControllers Real HTML5 Systems Browser / Mobile Client Data Servic e Process Data Servic e Process Trackin g Process BG Queu e Process Client/Server Border

Real HTML5 with Node.JS TemplatingControllers Browser / Mobile Client Data Servic e Process Data Servic e Process Trackin g Process BG Queu e Process Client/Server Border Node.JS - Aggregation, Formatting

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 Nginx as Web Server CDN for Static Content Log / Track Everything Load Balancer Nginx Node JS Server Mongo DB Nginx Node JS Server Logging Server Trackin g Server LinkedIn Platform

Screen Based JSON Single Request per screen JSON is template based Updatable on server { ttype: nut1, time: , header: “Wow, that is pretty cool”, footer: “shared by Kiran Prasad”, id: , }

Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS JS/HTML + Native Android Native Mobile Web JS/HTML Other Wrap JS/HTML

iOS 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/iOS Bridge

Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS JS/HTML + Native Android Native Mobile Web JS/HTML Other Wrap JS/HTML

Android Native for all the screens WebView for 20% of screens Moving towards more HTML5 Contacts locally stored but rest only in memory cache

Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS JS/HTML + Native Android Native Mobile Web JS/HTML Other Wrap JS/HTML

Mobile Web Backbone for MVC Underscore for utils Zapto for DOM Manipulation Modified iScroll for Scrolling LocalStorage for personal Cache SASS for CSS Closure for compiling Hash based Loader

Test

Automation: Vows, Robotium, Selenium, FoneMonkey, GHUnit Hudson for build management Internal Tool for Layout Testing PhantomJS 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 DeviceAnywhere for compatibility testing Internal monitoring for QPS, Uptime, etc Client Crash Log Metrics tracked daily

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 Notifications StreamYouInboxFollowing Breadth < 4 Depth < 3

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 Organic