SlideShare a Scribd company logo
Universal Applications
with
Universal JavaScript
Today JavaScript is a ubiquitous runtime. JavaScript is everywhere - from
Browser, server side, embedded device, mobile and gaming. JavaScript can be
leveraged to write once and run everywhere or have a consistent programming style,
and drive consistent experience across multiple channels – browser, Servers side, or
Native Mobile apps.
Thomas Joseph
Universal JavaScript
JavaScript is everywhere!
Isomorphic = Universal
Universal JavaScript are
environment agnostic
or
adapted to environment
Environment agnostic
 Does not depend on platform specific properties, browser (window), server
(process.env, req.cookies) or a device.
 Example (Handlebars)
var templateFn = Handlebars.compile(template);
var html = templateFn(data);
var template =
‘<h1>{{title}}</h1>
<ul>
{{#names}}
<li>{{name}}</li>
{{/names}}
</ul>’
var data = {
"title": "Story",
"names": [
{"name":
"Tarzan"},
{"name":
"Jane"}
]
}
<h1>Story</h1>
<ul>
<li>Tarzan</li>
<li>Jane</ul>
</ul>
Adapted to environment
 Provides adaptors for accessing environment-specific properties so
module can expose as single API.
 Example:
 console.log(‘Hello World’);
 app.path API
 window.location.pathname (Browser)
 req.path (Server)
JavaScript Engine
THE RUNTIME FOR A PLATFORM
JavaScript Runtimes – Browser
 V8 (Chrome)
 Chakra (IE)
 SpiderMonkey (FireFox)
 JavaScriptCore / Nitro (Safari)
JavaScript Runtimes – Server Side
 NodeJS
 Nashorn (Java)
 Rhino (Java)
 Jurassic (.NET)
 V8.NET (.NET)
 J2V8 (Java)
JavaScript Runtimes – Mobile (Native)
 V8 (Android)
 Chakra (Windows)
 JavaScriptCore / Nitro (iOS)
JavaScript Runtimes – Embedded
 V8 – Raspberry Pi
JavaScript Runtime
Build It or Port It!
Why Universal
JavaScript
IS RELEVANT FOR APPLICATION DEVELOPMENT?
In pursuit of the Holy Grail
Thick Client / Thin Server
 Applet
 Flash
 SPA
Thin Client / Thick Server
 Servlets / PHP etc
 AJAX
Universal JavaScript Apps
o Performance
• initial page load speed
o SEO
• Crawlable applications (vs SPA)
o Maintainability
• Reduce code duplication
o Flexibility
• Run code where you want*
o Learning Curve?
• Learn once, Write anywhere!
Control the spectrum of
shared logic
 Small bits of view layer
 Few abstractions
 Simple
 Entire view layer & app logic
 Many abstractions
 Complex
Most of the libraries are ready for it!
Who are using it?
Developing Universal
Apps with JavaScript
(AND FRIENDS)
Hack Time
Write Once, Run Anywhere
What about…?
Hybrid Apps
(JavaScript + HTML5 + CSS3)
 Primarily targets Mobiles (cross-
platform) for Native (like) apps
 Uses the Web View to run on Mobile
 Example:
 PhoneGap / Cordova
 Ionic
 Onsen UI
 Intel XDK
 Sencha Touch
 Kendo UI (telerik)
 JQuery Mobile
 Mobile Angular UI
Appecerator Titanium
(JavaScript + XML + CSS)
 Targets Mobiles (cross-platform) for
Native apps
 Not for Server Side or Browser – not
truly universal
 Runs on native JS engine of the platform
 “Appcelerator Titanium is a free and
open source application development
platform that lets you create cross
platform native mobile applications
using existing Javascript skills. ”
 “The Appcelerator Platform includes
SDKs, services and tools for creating,
testing, and managing your mobile and
cloud applications”
Hybrid Apps vs Native Apps
 Performance
 Graphic Capabilities (& Speed)
 Device Capabilities – Geolocation, Addressbook, Camera etc.
 Native Looks
 Learning Curve
 Cost
 Time to Market
Mobile App development is a pain
(and costly)
 One App – Different Development
 Different teams build the same thing using different languages, frameworks & libraries.
 Code, Build and maintain the same app across different platforms: iOS (Phone/Tablet),
Android (Phone/Tablet),Web (Desktop/Phone)
 Feature Parity
 Hard to maintain feature parity & consistent terminology.
 App Ownership
 Impossible to be an expert in all technologies and “own” something in all products
there is no one silver bullet
Write Once, Run Anywhere
Learn Once, Write Anywhere
LOWA Universal JavaScript
Frameworks
 React + React Native
 Angular 2 (+ friends)
React
+
React Native
“
”
React Native enables you to build world-class application experiences
on native platforms using a consistent developer experience based
on JavaScript and React. The focus of React Native is on developer
efficiency across all the platforms you care about — learn once, write
anywhere. Facebook uses React Native in multiple production apps
and will continue investing in React Native.
HTTPS://FACEBOOK.GITHUB.IO/REACT-NATIVE/
React Native Rendering
 Virtual DOM manipulation instead of
physical DOM
 React Native runtime translates virtual
DOM rendering to native OS UI
components.
Angular 2
“
”
Learning Angular 2 gives you the tools you need to build apps for
desktop, mobile web, Android, and iOS. Angular Universal provides
for server-side rendering for fast initial views on mobile web. Ionic
and NativeScript let you build hybrid and native UI mobile apps. Web
worker support keeps your app UI fully responsive no matter how
heavy the load
HTTPS://ANGULAR.IO/FEATURES.HTML
Angular 2 architecture
 Separates Application Core & Rendering
 Can be separate files or processes
 Possibility of variety of renderers for several
platforms
 Browser (default)
 Server Side (Angular U)
 Hybird Apps (Ionic)
 Native Apps
 NativeScript
 React Native
Angular 2 React Handlebar Dust
Browser    
SERVER
NodeJS    
Java    
.NET    
MOBILE NATIVE
iOS    
Android    
Windows    
Universal JavaScript Libraries

=
Opportunities!
Thank You
Ad

More Related Content

What's hot (20)

Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
Troy Miles
 
Xamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive ServicesXamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive Services
Vicente Gerardo Guzman Lucio
 
"Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K...
"Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K..."Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K...
"Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K...
Tech in Asia ID
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type script
Bob German
 
Demand driven applications with om.next and react native
Demand driven applications with om.next and react nativeDemand driven applications with om.next and react native
Demand driven applications with om.next and react native
dvcrn
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
Adrian Philipp
 
Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic Framework
Julien Renaux
 
Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3
Oleksandr Tryshchenko
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
Shyjal Raazi
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
DevelopmentArc LLC
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)
Mark Leusink
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
Troy Miles
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
Thinh VoXuan
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Framework
rrjohnson85
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
Cristián Cortéz
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Rashmika Nawaratne
 
Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015
Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015
Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015
Mickael Istria
 
React Native in a nutshell
React Native in a nutshellReact Native in a nutshell
React Native in a nutshell
Brainhub
 
Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overview
Sanket Devlekar
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
Cihad Horuzoğlu
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
Troy Miles
 
"Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K...
"Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K..."Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K...
"Building Cross-platform Without Sacrificing Performance" by Simon Sturmer (K...
Tech in Asia ID
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type script
Bob German
 
Demand driven applications with om.next and react native
Demand driven applications with om.next and react nativeDemand driven applications with om.next and react native
Demand driven applications with om.next and react native
dvcrn
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
Adrian Philipp
 
Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic Framework
Julien Renaux
 
Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3
Oleksandr Tryshchenko
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
Shyjal Raazi
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)
Mark Leusink
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
Troy Miles
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Framework
rrjohnson85
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Rashmika Nawaratne
 
Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015
Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015
Making Eclipse IDE better at handling real-life projects @EclipseCon NA 2015
Mickael Istria
 
React Native in a nutshell
React Native in a nutshellReact Native in a nutshell
React Native in a nutshell
Brainhub
 
Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overview
Sanket Devlekar
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
Cihad Horuzoğlu
 

Similar to Universal Applications with Universal JavaScript (20)

NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
Todd Anglin
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
Patrick Lauke
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global domination
Stfalcon Meetups
 
Frontend. Global domination.
Frontend. Global domination.Frontend. Global domination.
Frontend. Global domination.
Андрей Вандакуров
 
Building cross platform web apps
Building cross platform web appsBuilding cross platform web apps
Building cross platform web apps
ITEM
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
12 Frameworks for Mobile Hybrid Apps
12 Frameworks for Mobile Hybrid Apps12 Frameworks for Mobile Hybrid Apps
12 Frameworks for Mobile Hybrid Apps
Filipe Lima
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)
Kevin Whinnery
 
Phonegap android
Phonegap androidPhonegap android
Phonegap android
umesh patil
 
The Javascript Ecosystem
The Javascript EcosystemThe Javascript Ecosystem
The Javascript Ecosystem
Emmanuel Akinde
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
Mizanur Sarker
 
Top 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesTop 10 Best Web Development Technologies
Top 10 Best Web Development Technologies
AjayMishra302670
 
Cross mobility
Cross mobilityCross mobility
Cross mobility
Shady Selim
 
phonegap_101
phonegap_101phonegap_101
phonegap_101
Asanka Indrajith
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
Talentica Software
 
Service worker API
Service worker APIService worker API
Service worker API
Giorgio Natili
 
.NET Core on Mac
.NET Core on Mac.NET Core on Mac
.NET Core on Mac
Melania Andrisan (Danciu)
 
Frontend Developer Roadmap PDF By Scholarhat
Frontend Developer Roadmap PDF By ScholarhatFrontend Developer Roadmap PDF By Scholarhat
Frontend Developer Roadmap PDF By Scholarhat
Scholarhat
 
Get Ahead with HTML5 on Moible
Get Ahead with HTML5 on MoibleGet Ahead with HTML5 on Moible
Get Ahead with HTML5 on Moible
markuskobler
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
Todd Anglin
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
Patrick Lauke
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global domination
Stfalcon Meetups
 
Building cross platform web apps
Building cross platform web appsBuilding cross platform web apps
Building cross platform web apps
ITEM
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
12 Frameworks for Mobile Hybrid Apps
12 Frameworks for Mobile Hybrid Apps12 Frameworks for Mobile Hybrid Apps
12 Frameworks for Mobile Hybrid Apps
Filipe Lima
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)
Kevin Whinnery
 
Phonegap android
Phonegap androidPhonegap android
Phonegap android
umesh patil
 
The Javascript Ecosystem
The Javascript EcosystemThe Javascript Ecosystem
The Javascript Ecosystem
Emmanuel Akinde
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
Mizanur Sarker
 
Top 10 Best Web Development Technologies
Top 10 Best Web Development TechnologiesTop 10 Best Web Development Technologies
Top 10 Best Web Development Technologies
AjayMishra302670
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
Talentica Software
 
Frontend Developer Roadmap PDF By Scholarhat
Frontend Developer Roadmap PDF By ScholarhatFrontend Developer Roadmap PDF By Scholarhat
Frontend Developer Roadmap PDF By Scholarhat
Scholarhat
 
Get Ahead with HTML5 on Moible
Get Ahead with HTML5 on MoibleGet Ahead with HTML5 on Moible
Get Ahead with HTML5 on Moible
markuskobler
 
Ad

Recently uploaded (20)

Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdfAre Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Telecoms Supermarket
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Vaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without HallucinationsVaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without Hallucinations
john409870
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Web and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in RajpuraWeb and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in Rajpura
Erginous Technology
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdfAre Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Are Cloud PBX Providers in India Reliable for Small Businesses (1).pdf
Telecoms Supermarket
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Vaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without HallucinationsVaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without Hallucinations
john409870
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Web and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in RajpuraWeb and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in Rajpura
Erginous Technology
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Ad

Universal Applications with Universal JavaScript

  • 1. Universal Applications with Universal JavaScript Today JavaScript is a ubiquitous runtime. JavaScript is everywhere - from Browser, server side, embedded device, mobile and gaming. JavaScript can be leveraged to write once and run everywhere or have a consistent programming style, and drive consistent experience across multiple channels – browser, Servers side, or Native Mobile apps. Thomas Joseph
  • 5. Universal JavaScript are environment agnostic or adapted to environment
  • 6. Environment agnostic  Does not depend on platform specific properties, browser (window), server (process.env, req.cookies) or a device.  Example (Handlebars) var templateFn = Handlebars.compile(template); var html = templateFn(data); var template = ‘<h1>{{title}}</h1> <ul> {{#names}} <li>{{name}}</li> {{/names}} </ul>’ var data = { "title": "Story", "names": [ {"name": "Tarzan"}, {"name": "Jane"} ] } <h1>Story</h1> <ul> <li>Tarzan</li> <li>Jane</ul> </ul>
  • 7. Adapted to environment  Provides adaptors for accessing environment-specific properties so module can expose as single API.  Example:  console.log(‘Hello World’);  app.path API  window.location.pathname (Browser)  req.path (Server)
  • 9. JavaScript Runtimes – Browser  V8 (Chrome)  Chakra (IE)  SpiderMonkey (FireFox)  JavaScriptCore / Nitro (Safari)
  • 10. JavaScript Runtimes – Server Side  NodeJS  Nashorn (Java)  Rhino (Java)  Jurassic (.NET)  V8.NET (.NET)  J2V8 (Java)
  • 11. JavaScript Runtimes – Mobile (Native)  V8 (Android)  Chakra (Windows)  JavaScriptCore / Nitro (iOS)
  • 12. JavaScript Runtimes – Embedded  V8 – Raspberry Pi
  • 14. Why Universal JavaScript IS RELEVANT FOR APPLICATION DEVELOPMENT?
  • 15. In pursuit of the Holy Grail Thick Client / Thin Server  Applet  Flash  SPA Thin Client / Thick Server  Servlets / PHP etc  AJAX Universal JavaScript Apps
  • 16. o Performance • initial page load speed o SEO • Crawlable applications (vs SPA) o Maintainability • Reduce code duplication o Flexibility • Run code where you want* o Learning Curve? • Learn once, Write anywhere!
  • 17. Control the spectrum of shared logic  Small bits of view layer  Few abstractions  Simple  Entire view layer & app logic  Many abstractions  Complex
  • 18. Most of the libraries are ready for it!
  • 20. Developing Universal Apps with JavaScript (AND FRIENDS)
  • 22. Write Once, Run Anywhere
  • 24. Hybrid Apps (JavaScript + HTML5 + CSS3)  Primarily targets Mobiles (cross- platform) for Native (like) apps  Uses the Web View to run on Mobile  Example:  PhoneGap / Cordova  Ionic  Onsen UI  Intel XDK  Sencha Touch  Kendo UI (telerik)  JQuery Mobile  Mobile Angular UI
  • 25. Appecerator Titanium (JavaScript + XML + CSS)  Targets Mobiles (cross-platform) for Native apps  Not for Server Side or Browser – not truly universal  Runs on native JS engine of the platform  “Appcelerator Titanium is a free and open source application development platform that lets you create cross platform native mobile applications using existing Javascript skills. ”  “The Appcelerator Platform includes SDKs, services and tools for creating, testing, and managing your mobile and cloud applications”
  • 26. Hybrid Apps vs Native Apps  Performance  Graphic Capabilities (& Speed)  Device Capabilities – Geolocation, Addressbook, Camera etc.  Native Looks  Learning Curve  Cost  Time to Market
  • 27. Mobile App development is a pain (and costly)  One App – Different Development  Different teams build the same thing using different languages, frameworks & libraries.  Code, Build and maintain the same app across different platforms: iOS (Phone/Tablet), Android (Phone/Tablet),Web (Desktop/Phone)  Feature Parity  Hard to maintain feature parity & consistent terminology.  App Ownership  Impossible to be an expert in all technologies and “own” something in all products
  • 28. there is no one silver bullet
  • 29. Write Once, Run Anywhere Learn Once, Write Anywhere
  • 30. LOWA Universal JavaScript Frameworks  React + React Native  Angular 2 (+ friends)
  • 32. “ ” React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about — learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native. HTTPS://FACEBOOK.GITHUB.IO/REACT-NATIVE/
  • 33. React Native Rendering  Virtual DOM manipulation instead of physical DOM  React Native runtime translates virtual DOM rendering to native OS UI components.
  • 35. “ ” Learning Angular 2 gives you the tools you need to build apps for desktop, mobile web, Android, and iOS. Angular Universal provides for server-side rendering for fast initial views on mobile web. Ionic and NativeScript let you build hybrid and native UI mobile apps. Web worker support keeps your app UI fully responsive no matter how heavy the load HTTPS://ANGULAR.IO/FEATURES.HTML
  • 36. Angular 2 architecture  Separates Application Core & Rendering  Can be separate files or processes  Possibility of variety of renderers for several platforms  Browser (default)  Server Side (Angular U)  Hybird Apps (Ionic)  Native Apps  NativeScript  React Native
  • 37. Angular 2 React Handlebar Dust Browser     SERVER NodeJS     Java     .NET     MOBILE NATIVE iOS     Android     Windows     Universal JavaScript Libraries