SlideShare a Scribd company logo
Building Native Android Apps
using Javascript
Abhishek Kant
अभिषेक कान्त
–B.E. MBA.
–15 years in industry
–MCAD. Certified Scrum Master.
–Course Author – NoSQL w/ CouchDB
–Ex-Satyam Computers.
–Ex-Microsoft
–@abhishekkant
Contact:
abhishek.kant@telerik.com
Phone:
+91-124-4300987/ 996
Wait .. What?
{ }
Native Andoid Apps
Built with JavaScript + CSS + XML
Single Code Base
What it is not….
No DOM
No Cross-Compilation
No Plugins Required
{N} is straight-up JS | Running as Native App
CommonJS
MVVM
Templates
Building Native Android Apps with JavaScript
Building Native Android Apps with JavaScript
We are Open Source
Choice #1: {N} is OSS on GitHub
Start @ https://www.nativescript.org/
Check out | Use it | Fork it
https://github.com/NativeScript/NativeScript
Yep, it's completely FREE .. there is no catch!
SeeittoBELIEVEit !
1. Create a NS App
2. Add Image to the app
3. Add a new page
4. Add an email
5. Add Email-validator
6. Validate for correct Email
What makes up a {N}
Project?
UI, Logic, Styling & Modules!
ATypical {N} Project
All your components in one place
The UI
{N} uses XML
You build a Visual Tree
Just like XAML/HTML
You get UI elements & Container controls
These become Native UI .. little Magical!
<Image source="{thumbnailImageSource}" width="72" height="72"/>
<Label text="{itemTitle}" textWrap="true" cssClass="title" />
<Button text="{authoredBy}“ width="150“ cssClass="author"/>
Can I invoke Native UI?
{N} supports Native UI element instatiation
var alert = new UIAlertView();
alert.message = "Hello World";
alert.addButtonWithTitle("OK");
alert.show();
Native UI
Invoked through JS!
The Styling
{N} uses the ubiquitous CSS
<Page loaded="load">
<Label text="{{ message }}" />
</Page>
.Label {
color: red;
font-size: 20;
margin: 20;
}
Yep - CSS to style Mobile App elements!
The Logic w/ JavaScript
{N} utilizes a bridge
Has full access to Native APIs
- That's all of iOS + Android APIs!
Uses Reflection to look up Native APIs
List of APIs for each Platform
Metadata pre-generated
Injected into App package @ Build time
Improving Logic w/ MVVM
{N} supports Rich DataBinding
XAML-like Data Binding
Off course .. it's 2-Way
Renders Adaptively for each platform
Data Binding powered by Polymer Expressions!
<Image source="{thumbnailImageSource}"
width="72"
height="72"
<Label verticalAlignment="top"/>
text="{{ num_comments ? num_comments
+ ' comments' : '' }" />
Cross Platform w/ Modules
{N} bridge that takes functionality X-Platform
- Just like a Node module
- Dozens available | You can write custom modules
A Module in action
{N} allows you to bring in what's needed
- This is a generic HTTP Module
- Works the same way in each Platform
var http = require("http");
http.getJSON("https://api.myservice.com"
)
.then(function(result){
// result is a JSON object
// do stuff
});
SeeittoBELIEVEit !
1. Create a NS App
2. Add Image to the app
3. Add a new page
4. Add an email
5. Add Email-validator
6. Validate for correct Email
How do I start with OSS?
{N} Command Line Interface makes it easy
Grab the NativeScript CLI:
npm install -g nativescript
tns create MyApp
tns platform add android
Create Project & Add Platforms:
tns run android
tns run android --emulator
Run Project on Device or Emulator:
Why {N} again?
You're a Mobile Ninja
{N} is here to help!
Native X-Platform Mobile with JS
NativeScript Blog | @NativeScript
Go build your dream app!

More Related Content

What's hot (20)

PPT
Node.js
Neethu Dasan
 
PPTX
Introducing Razor - A new view engine for ASP.NET
Shiju Varghese
 
PPTX
TallyJS #1 - Intro to AngularJS
Andrew Hart
 
PPTX
Introduction to meteor
NodeXperts
 
PPTX
Back to the ng2 Future
Jeremy Likness
 
PPTX
What’s New and Hot in .NET 4.0
Jess Chadwick
 
PDF
Unlimited Frameworks
Terui Masashi
 
PDF
Electron
Debopam Sengupta
 
PPTX
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?
Clint Edmonson
 
PDF
Angular js - 10 reasons to choose angularjs
Nir Kaufman
 
PDF
MVP Mix 2015 Leveraging MVVM on all Platforms
James Montemagno
 
PPTX
A Minimalist’s Attempt at Building a Distributed Application
David Hoerster
 
PPT
Agile Software Development by Sencha
Lael Rukius
 
PDF
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
Mobile Trends
 
PDF
Stripe con 2021 UI stack
MaximeRainville1
 
PPTX
Cross platform mobile development with xamarin and office 365
SoHo Dragon
 
PPTX
AngularJS
Vineeth Nair
 
PPTX
Asp.net c# MVC-5 Training-Day-1 of Day-9
AHM Pervej Kabir
 
PPTX
MEAN stack
Iryney Baran
 
Node.js
Neethu Dasan
 
Introducing Razor - A new view engine for ASP.NET
Shiju Varghese
 
TallyJS #1 - Intro to AngularJS
Andrew Hart
 
Introduction to meteor
NodeXperts
 
Back to the ng2 Future
Jeremy Likness
 
What’s New and Hot in .NET 4.0
Jess Chadwick
 
Unlimited Frameworks
Terui Masashi
 
MICROSOFT BLAZOR - NEXT GENERATION WEB UI OR SILVERLIGHT ALL OVER AGAIN?
Clint Edmonson
 
Angular js - 10 reasons to choose angularjs
Nir Kaufman
 
MVP Mix 2015 Leveraging MVVM on all Platforms
James Montemagno
 
A Minimalist’s Attempt at Building a Distributed Application
David Hoerster
 
Agile Software Development by Sencha
Lael Rukius
 
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
Mobile Trends
 
Stripe con 2021 UI stack
MaximeRainville1
 
Cross platform mobile development with xamarin and office 365
SoHo Dragon
 
AngularJS
Vineeth Nair
 
Asp.net c# MVC-5 Training-Day-1 of Day-9
AHM Pervej Kabir
 
MEAN stack
Iryney Baran
 

Viewers also liked (20)

PPT
DP & Time Spirals
Bengt & Maarit de Paulis
 
PPTX
Employing chatbots
Converse.AI
 
PDF
Marketing CM
Henk Orsel
 
PPTX
Open leermateriaal OSB
Henk Orsel
 
PPTX
Lauwers College 130115 VO Content
Henk Orsel
 
PPTX
Gestion de operaciones avance 2
Alesa19
 
PPTX
Celtic myths and legends
alanapartridge
 
PDF
Web 2,0 for organizational Knowledge Management 2009
Einat Shimoni
 
PPTX
Python Programming Essentials - M40 - Invoking External Programs
P3 InfoTech Solutions Pvt. Ltd.
 
PPTX
Fintech Overview - Bekkozha Muslimov
Bekkozha Muslimov
 
PPS
Business Rules Framework
joedigiovanni
 
PDF
Mindfulness e Tradizioni Meditative
Gino Martorelli
 
PDF
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Alpen-Adria-Universität
 
DOC
Resume-Ranjeet_Latest
Ranjeet Kaur
 
PPTX
5 Cool LinkedIn Features You Probably Didn't Know About
Social Strand Media
 
PPTX
Using business rules to make processes simpler, smarter and more agile
Decision Management Solutions
 
PDF
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?
Ruslan Begaliev
 
PDF
La rivoluzione dei chatbot
Giuliano Iacobelli
 
PDF
The Chatbot Revolution
Giuliano Iacobelli
 
DP & Time Spirals
Bengt & Maarit de Paulis
 
Employing chatbots
Converse.AI
 
Marketing CM
Henk Orsel
 
Open leermateriaal OSB
Henk Orsel
 
Lauwers College 130115 VO Content
Henk Orsel
 
Gestion de operaciones avance 2
Alesa19
 
Celtic myths and legends
alanapartridge
 
Web 2,0 for organizational Knowledge Management 2009
Einat Shimoni
 
Python Programming Essentials - M40 - Invoking External Programs
P3 InfoTech Solutions Pvt. Ltd.
 
Fintech Overview - Bekkozha Muslimov
Bekkozha Muslimov
 
Business Rules Framework
joedigiovanni
 
Mindfulness e Tradizioni Meditative
Gino Martorelli
 
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Alpen-Adria-Universität
 
Resume-Ranjeet_Latest
Ranjeet Kaur
 
5 Cool LinkedIn Features You Probably Didn't Know About
Social Strand Media
 
Using business rules to make processes simpler, smarter and more agile
Decision Management Solutions
 
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?
Ruslan Begaliev
 
La rivoluzione dei chatbot
Giuliano Iacobelli
 
The Chatbot Revolution
Giuliano Iacobelli
 
Ad

Similar to Building Native Android Apps with JavaScript (20)

PDF
Visual Studio 2017 Launch Event
James Montemagno
 
PPTX
NativeScript + Push Notifications
Lohith Goudagere Nagaraj
 
PPTX
Nativescript with angular 2
Christoffer Noring
 
PDF
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
Todd Anglin
 
PDF
DotVVM Fundamentals
Daniel Gomez Jaramillo
 
DOCX
Vitaliy Kryvonos_CV_up
Vitaliy Kryvonos
 
PPTX
Proposal
Constantine Priemski
 
PDF
Introduction to React Native
dvcrn
 
PDF
Intro to appcelerator
Dave Hudson
 
PDF
ChrisSchilling_SideProjects
Chris Schilling
 
PDF
Create Restful Web Application With Node.js Express Framework
Edureka!
 
PPTX
That’s not your var – JavaScript best practices for C# developers
György Balássy
 
PPT
Node js
Chirag Parmar
 
PPTX
Cross platform mobile app development tools review
Uday Kothari
 
PDF
A164 enterprise javascript ibm node sdk
Toby Corbin
 
PPTX
Nativescript
Software Infrastructure
 
PPT
Cross-Platform Mobile Development in Visual Studio
bryan costanich
 
PPTX
Expo - Zero to App.pptx
😎 Anthony Kariuki
 
PPTX
Node js Introduction
sanskriti agarwal
 
Visual Studio 2017 Launch Event
James Montemagno
 
NativeScript + Push Notifications
Lohith Goudagere Nagaraj
 
Nativescript with angular 2
Christoffer Noring
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
Todd Anglin
 
DotVVM Fundamentals
Daniel Gomez Jaramillo
 
Vitaliy Kryvonos_CV_up
Vitaliy Kryvonos
 
Introduction to React Native
dvcrn
 
Intro to appcelerator
Dave Hudson
 
ChrisSchilling_SideProjects
Chris Schilling
 
Create Restful Web Application With Node.js Express Framework
Edureka!
 
That’s not your var – JavaScript best practices for C# developers
György Balássy
 
Node js
Chirag Parmar
 
Cross platform mobile app development tools review
Uday Kothari
 
A164 enterprise javascript ibm node sdk
Toby Corbin
 
Cross-Platform Mobile Development in Visual Studio
bryan costanich
 
Expo - Zero to App.pptx
😎 Anthony Kariuki
 
Node js Introduction
sanskriti agarwal
 
Ad

More from Abhishek Kant (20)

PPTX
Omni-Channel Marketing in the Cloud
Abhishek Kant
 
PPTX
From Data To Insights
Abhishek Kant
 
PPTX
New Age User Interfaces
Abhishek Kant
 
PPTX
Digital Transformation
Abhishek Kant
 
PPTX
Swiss Army Knife for Automation Testing
Abhishek Kant
 
PPTX
Using Business Rules to Make Your Business Process Smarter, Simpler and More ...
Abhishek Kant
 
PPTX
Log Management and Analysis for Cloud Applications
Abhishek Kant
 
PPTX
Optimize Data Connectivity in .NET Applications
Abhishek Kant
 
PPTX
Beginning IoT for Developers
Abhishek Kant
 
PPTX
Drag and Drop Application Development with Progress Rollbase
Abhishek Kant
 
PPTX
Using SignalR with Kendo UI
Abhishek Kant
 
PPTX
Leverage Progress Technologies for Telerik Developers
Abhishek Kant
 
PPTX
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Abhishek Kant
 
PPTX
Gathering App Intelligence for your Web, Desktop and Mobile apps
Abhishek Kant
 
PPTX
Solving Agile Project Management Challenges with TeamPulse
Abhishek Kant
 
PPTX
Collaborative Agile Development with TeamPulse
Abhishek Kant
 
PPTX
Introduction to New Age Applications with Kendo UI
Abhishek Kant
 
PPTX
New Age Applications with Kendo UI
Abhishek Kant
 
PDF
Building Enterprise Apps for windows Phone 7
Abhishek Kant
 
PPTX
Getting Started with Microsoft Office 365
Abhishek Kant
 
Omni-Channel Marketing in the Cloud
Abhishek Kant
 
From Data To Insights
Abhishek Kant
 
New Age User Interfaces
Abhishek Kant
 
Digital Transformation
Abhishek Kant
 
Swiss Army Knife for Automation Testing
Abhishek Kant
 
Using Business Rules to Make Your Business Process Smarter, Simpler and More ...
Abhishek Kant
 
Log Management and Analysis for Cloud Applications
Abhishek Kant
 
Optimize Data Connectivity in .NET Applications
Abhishek Kant
 
Beginning IoT for Developers
Abhishek Kant
 
Drag and Drop Application Development with Progress Rollbase
Abhishek Kant
 
Using SignalR with Kendo UI
Abhishek Kant
 
Leverage Progress Technologies for Telerik Developers
Abhishek Kant
 
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Abhishek Kant
 
Gathering App Intelligence for your Web, Desktop and Mobile apps
Abhishek Kant
 
Solving Agile Project Management Challenges with TeamPulse
Abhishek Kant
 
Collaborative Agile Development with TeamPulse
Abhishek Kant
 
Introduction to New Age Applications with Kendo UI
Abhishek Kant
 
New Age Applications with Kendo UI
Abhishek Kant
 
Building Enterprise Apps for windows Phone 7
Abhishek Kant
 
Getting Started with Microsoft Office 365
Abhishek Kant
 

Recently uploaded (20)

PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 

Building Native Android Apps with JavaScript

  • 1. Building Native Android Apps using Javascript
  • 2. Abhishek Kant अभिषेक कान्त –B.E. MBA. –15 years in industry –MCAD. Certified Scrum Master. –Course Author – NoSQL w/ CouchDB –Ex-Satyam Computers. –Ex-Microsoft –@abhishekkant Contact: [email protected] Phone: +91-124-4300987/ 996
  • 3. Wait .. What? { } Native Andoid Apps Built with JavaScript + CSS + XML Single Code Base
  • 4. What it is not…. No DOM No Cross-Compilation No Plugins Required {N} is straight-up JS | Running as Native App
  • 8. We are Open Source Choice #1: {N} is OSS on GitHub Start @ https://www.nativescript.org/ Check out | Use it | Fork it https://github.com/NativeScript/NativeScript Yep, it's completely FREE .. there is no catch!
  • 9. SeeittoBELIEVEit ! 1. Create a NS App 2. Add Image to the app 3. Add a new page 4. Add an email 5. Add Email-validator 6. Validate for correct Email
  • 10. What makes up a {N} Project? UI, Logic, Styling & Modules!
  • 11. ATypical {N} Project All your components in one place
  • 12. The UI {N} uses XML You build a Visual Tree Just like XAML/HTML You get UI elements & Container controls These become Native UI .. little Magical! <Image source="{thumbnailImageSource}" width="72" height="72"/> <Label text="{itemTitle}" textWrap="true" cssClass="title" /> <Button text="{authoredBy}“ width="150“ cssClass="author"/>
  • 13. Can I invoke Native UI? {N} supports Native UI element instatiation var alert = new UIAlertView(); alert.message = "Hello World"; alert.addButtonWithTitle("OK"); alert.show(); Native UI Invoked through JS!
  • 14. The Styling {N} uses the ubiquitous CSS <Page loaded="load"> <Label text="{{ message }}" /> </Page> .Label { color: red; font-size: 20; margin: 20; } Yep - CSS to style Mobile App elements!
  • 15. The Logic w/ JavaScript {N} utilizes a bridge Has full access to Native APIs - That's all of iOS + Android APIs! Uses Reflection to look up Native APIs List of APIs for each Platform Metadata pre-generated Injected into App package @ Build time
  • 16. Improving Logic w/ MVVM {N} supports Rich DataBinding XAML-like Data Binding Off course .. it's 2-Way Renders Adaptively for each platform Data Binding powered by Polymer Expressions! <Image source="{thumbnailImageSource}" width="72" height="72" <Label verticalAlignment="top"/> text="{{ num_comments ? num_comments + ' comments' : '' }" />
  • 17. Cross Platform w/ Modules {N} bridge that takes functionality X-Platform - Just like a Node module - Dozens available | You can write custom modules
  • 18. A Module in action {N} allows you to bring in what's needed - This is a generic HTTP Module - Works the same way in each Platform var http = require("http"); http.getJSON("https://api.myservice.com" ) .then(function(result){ // result is a JSON object // do stuff });
  • 19. SeeittoBELIEVEit ! 1. Create a NS App 2. Add Image to the app 3. Add a new page 4. Add an email 5. Add Email-validator 6. Validate for correct Email
  • 20. How do I start with OSS? {N} Command Line Interface makes it easy Grab the NativeScript CLI: npm install -g nativescript tns create MyApp tns platform add android Create Project & Add Platforms: tns run android tns run android --emulator Run Project on Device or Emulator:
  • 22. You're a Mobile Ninja {N} is here to help!
  • 23. Native X-Platform Mobile with JS NativeScript Blog | @NativeScript Go build your dream app!