SlideShare a Scribd company logo
1 of 16
Download to read offline
Modern trends for developing cross-platforms apps with
HTML5, Javascript and CSS
HOW TO DEVELOP
CROSS-PLATFORM
APPS
#web #beginners#cross-platform #visual-studio #tools
Andrea Tino
Software Development Engineer
Who is this
presentation for?
Everyone with a
minimal background
in programming
What topics does it
cover?
See previous slide :)
Oh yeah... But how
detailed?
I will follow an
horizontal approach
without many details
OUT THERE IS FULL OF DEVICES
If you consider all phones, tablets, watches and devices in the market,
developing an app able to adapt to all of them becomes impossible
SamsungTabS
Sony XPeria
iPad2
iPad Mini
Nokia 920
Lumia
MANY STORES
What if you want to develop an
app for all the stores?
GOOGLE PLAY
1.6M
APPLE STORE
1.5M
WINDOWS STORE
340.000
AMAZON APPSTORE
400.000
Source:Statista
http://www.statista.com/statistics/276623/nu
mber-of-apps-available-in-leading-app-stores
001
MODERN REQUIREMENTS
App developers today face two
big problems...
XXXX XXXX
XXXX XXXX
CROSS PLATFORM
The possibility to have the
same source code, and
compile it for all platforms
ADAPTIVE LAYOUT
The ability to adapt the
app layout in order to fit as
many screens as needed
SOLUTIONS?
We need to find a way to develop adaptive
and cross-platform apps
CROSS
PLATFORM
ADAPTIVE
LAYOUT
Defining
content
structure
Interactive
logic
Styling
elements
Compile web
apps into apps
for all stores
Starting from Visual
Studio 2015,it is possible
to integrate Cordova in
Javascript projects
ABOUT HTML
Hyper Text Markup Language has been used for many years, and now
it is making his way as the markup language par excellence
Define content
HTML is a markup language that
developers use to create web pages.
By using tags you create elements which
are your page components.
DEMO
Writing your first
HTML page
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My page</title>
</head>
<body>
<div>Hello world!</div>
</body>
</html>
GIST link
https://gist.github.com/
andry-tino/6afa3e54c4
7057c4b683
ABOUT CSS
Cascading Style Sheets is
about love & hate
When it is about styling
HTML is used to define content. CSS is used to style that
content!
Years ago, HTML used to have styling directives in the
language, but they were removed and made obsolete!
DEMO
Add a CSS stylesheet
to your HTML page
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My page</title>
<link href=”style.css”></link>
</head>
<body>
<div>Hello world!</div>
</body>
</html>
body {
padding: 0;
margin: 10px;
background-color: #efefef;
}
div {
font-family: sans-serif;
font-size: 25pt;
font-weight: bold;
color: #333333;
}
ABOUT JAVASCRIPT
The web runs on Javascript! If you have to learn a
programming language: start with Javascript :)
Make your pages live
Javascript is all about having fun! Move stuff, add animations,
make your pages become interactive and dynamic!
Javascript is a programming language that today can also be
used out of web browsers!
DEMO
Add dynamicity to elements
of your HTML page
window.addEventListener(’load’,
function() {
var c = document.getElementById(
’content’);
var t = [’Ciao mondo’,
‘Hello world’, ‘ハロー・世界’];
window.setInterval(function() {
c.textContent = t[Math.floor(
Math.random()(10)%3];
}, 1000);
});
<!DOCTYPE html>
...
<script src=”script.js”>
</script>
</head>
<body>
<div id=”content”>
Hello world!
</div>
</body>
</html>
THE MAGIC DONE BY CORDOVA
Cordova does the magic of converting your web
pages into an app for all the stores
Win output
myapp.appx
Android output
myapp.apk
iOS output
myapp.ipa
Source code
index.html
style.css
script.js
VISUAL
STUDIO 2015
CORDOVA
ONE APP, MANY DEVICES
Not only we can reach all platforms thanks to Cordova. We can also reach
multiple devices as the same app can run on tablets and phones thanks to
the fact that we have built our app using HTML, Javascript and CSS
Win app
Windows Store
Android app
Google Play
iOS app
Apple Store
TABLET MARKET
50.4M
http://www.statista.com/topics/841/tablets/
PHONE MARKET
967.78M
http://www.statista.com/topics/840/smartphones/
ONE APP, ALL STORES
All the way up to the stores. With just one
single app we could do all!
TABLET MARKET
50.4M
http://www.statista.com/topics/841/tablets/
PHONE MARKET
967.78M
http://www.statista.com/topics/840/smartphones/
GOOGLE
PLAY STORE 1.6M
source: presentation@001
APPLE STORE
1.5M
source: presentation@001
WINDOWS
STORE
340.000
source: presentation@001
EVERYTHING YOU NEED
IS OUT THERE
Internet is full of tools to build apps with HTML,Javascript and
CSS.Get inspired and start creating amazing things!
ADOBE COLOR CC
Organize your color palettes, get access to amazing tools to creatic
chromatic configurations for your artworks
https://colo
r.adobe.com
CLOUD
ENABLED
FREE
CREATE
PALETTES
EASY
DEVICE SIZE HANDLING
The best part of developing cross-platform apps is that we can
test them on browsers! To make testing realistic, we need to resize
our browser’s window to match devices’ sizes
http://mydevice.io
MYDEVICE
http://screensiz.es
SCREENSIZ
RESIZE MY
BROWSER
http://resi
zemybrowser
.com
http://setmy.brow
sersize.com
SETMYBROWSERSIZE
THANK YOU
Twitter: @_atino
This work is distributed under the Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International license.
Authored by: Andrea Tino This work includes statistics and
facts whose source is: Statista
(www.statista.com).This presentation has been
designed to target 9th+ graders
in schools as part of
introduction to development
and IT.
andry.tino@hotmail.comE-Mail: andrea.tino@microsoft.com
Version: 1.5
The End

More Related Content

What's hot

Take Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPressTake Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPress
Becky Davis
 
Dream weaver
Dream weaverDream weaver
Dream weaver
lstar14
 

What's hot (9)

Dreamweaver_Abhijit
Dreamweaver_AbhijitDreamweaver_Abhijit
Dreamweaver_Abhijit
 
Take Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPressTake Control of Your Site w/ WordPress
Take Control of Your Site w/ WordPress
 
Dream weaver
Dream weaverDream weaver
Dream weaver
 
Xhtml validation
Xhtml validationXhtml validation
Xhtml validation
 
Create your own SharePoint Master Pages and Page Layouts
Create your own SharePoint Master Pages and Page LayoutsCreate your own SharePoint Master Pages and Page Layouts
Create your own SharePoint Master Pages and Page Layouts
 
10 Steps to Becoming a WordPress Theme Ninja
10 Steps to Becoming a WordPress Theme Ninja10 Steps to Becoming a WordPress Theme Ninja
10 Steps to Becoming a WordPress Theme Ninja
 
Dream weaver
Dream weaverDream weaver
Dream weaver
 
Dream weaver
Dream weaverDream weaver
Dream weaver
 
WordPress SEO: Getting Back to the Basics
WordPress SEO: Getting Back to the BasicsWordPress SEO: Getting Back to the Basics
WordPress SEO: Getting Back to the Basics
 

Viewers also liked

Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interaction
Serious_SamSoul
 
History & Basic Structure of the Internet
History & Basic Structure of the InternetHistory & Basic Structure of the Internet
History & Basic Structure of the Internet
Villa Santa Maria
 
The History Of The Internet Presentation
The  History Of The  Internet  PresentationThe  History Of The  Internet  Presentation
The History Of The Internet Presentation
dgieseler1
 
BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS
Kak Yong
 

Viewers also liked (11)

Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
 
Building a next generation web application
Building a next generation web applicationBuilding a next generation web application
Building a next generation web application
 
Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interaction
 
Network & internet presentation
Network & internet presentationNetwork & internet presentation
Network & internet presentation
 
History & Basic Structure of the Internet
History & Basic Structure of the InternetHistory & Basic Structure of the Internet
History & Basic Structure of the Internet
 
History of the internet
History of the internetHistory of the internet
History of the internet
 
DNS - Domain Name System
DNS - Domain Name SystemDNS - Domain Name System
DNS - Domain Name System
 
The History Of The Internet Presentation
The  History Of The  Internet  PresentationThe  History Of The  Internet  Presentation
The History Of The Internet Presentation
 
Domain Name System DNS
Domain Name System DNSDomain Name System DNS
Domain Name System DNS
 
Introduction to computer network
Introduction to computer networkIntroduction to computer network
Introduction to computer network
 
BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS
 

Similar to How to Develop Cross-Platform Apps

Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
John Hartley
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
Christian Heindel
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
Chris Love
 
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
 
Mobile Apps presentation
Mobile Apps presentationMobile Apps presentation
Mobile Apps presentation
Tom Printy
 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...
Atos_Worldline
 

Similar to How to Develop Cross-Platform Apps (20)

Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...Familiar Tools, New Possibilities:  Leveraging the Power of the Adobe Web Pub...
Familiar Tools, New Possibilities: Leveraging the Power of the Adobe Web Pub...
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGap
 
Workshop 11: Trendy web designs & prototyping
Workshop 11: Trendy web designs & prototypingWorkshop 11: Trendy web designs & prototyping
Workshop 11: Trendy web designs & prototyping
 
Introduction to Responsive Design v.2
Introduction to Responsive Design v.2Introduction to Responsive Design v.2
Introduction to Responsive Design v.2
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
 
Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
 
Be Awesome with Emerging Tech [SUNYCUAD}
Be Awesome with Emerging Tech [SUNYCUAD}Be Awesome with Emerging Tech [SUNYCUAD}
Be Awesome with Emerging Tech [SUNYCUAD}
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
 
From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it done
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
 
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
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile App
 
Mobile Apps presentation
Mobile Apps presentationMobile Apps presentation
Mobile Apps presentation
 
HTML5 for Web Designers
HTML5 for Web DesignersHTML5 for Web Designers
HTML5 for Web Designers
 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...
 
Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Device
 
SmartPhone Design and Delivery
SmartPhone Design and DeliverySmartPhone Design and Delivery
SmartPhone Design and Delivery
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from Singapore
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 

More from Andrea Tino

More from Andrea Tino (20)

Our Journey: from Waterfall to Agile to DevOps
Our Journey: from Waterfall to Agile to DevOpsOur Journey: from Waterfall to Agile to DevOps
Our Journey: from Waterfall to Agile to DevOps
 
Development & GDPR (v2)
Development & GDPR (v2)Development & GDPR (v2)
Development & GDPR (v2)
 
Development & GDPR
Development & GDPRDevelopment & GDPR
Development & GDPR
 
Cutting Edge on Development Methodologies in IT
Cutting Edge on Development Methodologies in ITCutting Edge on Development Methodologies in IT
Cutting Edge on Development Methodologies in IT
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Modern Trends in UI Decoupling Design
Modern Trends in UI Decoupling DesignModern Trends in UI Decoupling Design
Modern Trends in UI Decoupling Design
 
Javascript cheatsheet
Javascript cheatsheetJavascript cheatsheet
Javascript cheatsheet
 
Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)
 
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
 
Modern web applications
Modern web applicationsModern web applications
Modern web applications
 
Visual Studio Tools for Cordova
Visual Studio Tools for CordovaVisual Studio Tools for Cordova
Visual Studio Tools for Cordova
 
Microsoft + Agile (light)
Microsoft + Agile (light)Microsoft + Agile (light)
Microsoft + Agile (light)
 
Microsoft + Agile
Microsoft + AgileMicrosoft + Agile
Microsoft + Agile
 
The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation framework
 
7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUM
 
Creating a compiler for your own language
Creating a compiler for your own languageCreating a compiler for your own language
Creating a compiler for your own language
 
Stateless load balancing - Early results
Stateless load balancing - Early resultsStateless load balancing - Early results
Stateless load balancing - Early results
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

How to Develop Cross-Platform Apps

  • 1. Modern trends for developing cross-platforms apps with HTML5, Javascript and CSS HOW TO DEVELOP CROSS-PLATFORM APPS #web #beginners#cross-platform #visual-studio #tools Andrea Tino Software Development Engineer
  • 2. Who is this presentation for? Everyone with a minimal background in programming What topics does it cover? See previous slide :) Oh yeah... But how detailed? I will follow an horizontal approach without many details
  • 3. OUT THERE IS FULL OF DEVICES If you consider all phones, tablets, watches and devices in the market, developing an app able to adapt to all of them becomes impossible SamsungTabS Sony XPeria iPad2 iPad Mini Nokia 920 Lumia
  • 4. MANY STORES What if you want to develop an app for all the stores? GOOGLE PLAY 1.6M APPLE STORE 1.5M WINDOWS STORE 340.000 AMAZON APPSTORE 400.000 Source:Statista http://www.statista.com/statistics/276623/nu mber-of-apps-available-in-leading-app-stores 001
  • 5. MODERN REQUIREMENTS App developers today face two big problems... XXXX XXXX XXXX XXXX CROSS PLATFORM The possibility to have the same source code, and compile it for all platforms ADAPTIVE LAYOUT The ability to adapt the app layout in order to fit as many screens as needed
  • 6. SOLUTIONS? We need to find a way to develop adaptive and cross-platform apps CROSS PLATFORM ADAPTIVE LAYOUT Defining content structure Interactive logic Styling elements Compile web apps into apps for all stores Starting from Visual Studio 2015,it is possible to integrate Cordova in Javascript projects
  • 7. ABOUT HTML Hyper Text Markup Language has been used for many years, and now it is making his way as the markup language par excellence Define content HTML is a markup language that developers use to create web pages. By using tags you create elements which are your page components. DEMO Writing your first HTML page <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My page</title> </head> <body> <div>Hello world!</div> </body> </html> GIST link https://gist.github.com/ andry-tino/6afa3e54c4 7057c4b683
  • 8. ABOUT CSS Cascading Style Sheets is about love & hate When it is about styling HTML is used to define content. CSS is used to style that content! Years ago, HTML used to have styling directives in the language, but they were removed and made obsolete! DEMO Add a CSS stylesheet to your HTML page <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My page</title> <link href=”style.css”></link> </head> <body> <div>Hello world!</div> </body> </html> body { padding: 0; margin: 10px; background-color: #efefef; } div { font-family: sans-serif; font-size: 25pt; font-weight: bold; color: #333333; }
  • 9. ABOUT JAVASCRIPT The web runs on Javascript! If you have to learn a programming language: start with Javascript :) Make your pages live Javascript is all about having fun! Move stuff, add animations, make your pages become interactive and dynamic! Javascript is a programming language that today can also be used out of web browsers! DEMO Add dynamicity to elements of your HTML page window.addEventListener(’load’, function() { var c = document.getElementById( ’content’); var t = [’Ciao mondo’, ‘Hello world’, ‘ハロー・世界’]; window.setInterval(function() { c.textContent = t[Math.floor( Math.random()(10)%3]; }, 1000); }); <!DOCTYPE html> ... <script src=”script.js”> </script> </head> <body> <div id=”content”> Hello world! </div> </body> </html>
  • 10. THE MAGIC DONE BY CORDOVA Cordova does the magic of converting your web pages into an app for all the stores Win output myapp.appx Android output myapp.apk iOS output myapp.ipa Source code index.html style.css script.js VISUAL STUDIO 2015 CORDOVA
  • 11. ONE APP, MANY DEVICES Not only we can reach all platforms thanks to Cordova. We can also reach multiple devices as the same app can run on tablets and phones thanks to the fact that we have built our app using HTML, Javascript and CSS Win app Windows Store Android app Google Play iOS app Apple Store TABLET MARKET 50.4M http://www.statista.com/topics/841/tablets/ PHONE MARKET 967.78M http://www.statista.com/topics/840/smartphones/
  • 12. ONE APP, ALL STORES All the way up to the stores. With just one single app we could do all! TABLET MARKET 50.4M http://www.statista.com/topics/841/tablets/ PHONE MARKET 967.78M http://www.statista.com/topics/840/smartphones/ GOOGLE PLAY STORE 1.6M source: presentation@001 APPLE STORE 1.5M source: presentation@001 WINDOWS STORE 340.000 source: presentation@001
  • 13. EVERYTHING YOU NEED IS OUT THERE Internet is full of tools to build apps with HTML,Javascript and CSS.Get inspired and start creating amazing things!
  • 14. ADOBE COLOR CC Organize your color palettes, get access to amazing tools to creatic chromatic configurations for your artworks https://colo r.adobe.com CLOUD ENABLED FREE CREATE PALETTES EASY
  • 15. DEVICE SIZE HANDLING The best part of developing cross-platform apps is that we can test them on browsers! To make testing realistic, we need to resize our browser’s window to match devices’ sizes http://mydevice.io MYDEVICE http://screensiz.es SCREENSIZ RESIZE MY BROWSER http://resi zemybrowser .com http://setmy.brow sersize.com SETMYBROWSERSIZE
  • 16. THANK YOU Twitter: @_atino This work is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. Authored by: Andrea Tino This work includes statistics and facts whose source is: Statista (www.statista.com).This presentation has been designed to target 9th+ graders in schools as part of introduction to development and IT. andry.tino@hotmail.comE-Mail: andrea.tino@microsoft.com Version: 1.5 The End