SlideShare a Scribd company logo
1 of 18
#devfest2015 #gdgkk
Creating Mobile Apps the
Web Developer Way
Lorna Timbah
@webgrrrl
Community Manager, GDGKK
#devfest2015 #gdgkk
Steps
1 - Install A Bunch of Software
2 - Set Up Your Web Project
3 - Compile Your Web Project
#devfest2015 #gdgkk
Step 1:
Install
1.Install Python
(this walk-through uses Python 3)
2.Install nodejs, npm, and JDK.
3.Set the environment paths for
Python, nodejs, npm, and JDK.
4.Install Android SDK and update
to at least Android 4.4 or higher
(API 19).
5.Install Bower via npm:
npm install -g bower
6.Install Cordova via npm:
npm install -g cordova
#devfest2015 #gdgkk
Step 1:
Install
1.Install Python
(this walk-through uses Python 3)
2.Install nodejs, npm, and JDK.
3.Set the environment paths for
Python, nodejs, npm, and JDK.
4.Install Android SDK and update
to at least Android 4.4 or higher
(API 19).
5.Install Bower via npm:
npm install -g bower
6.Install Cordova via npm:
npm install -g cordova
#devfest2015 #gdgkk
Step 2:
Set Up
1.Create a Cordova project
2.Go to the www folder of the
Cordova project
3.Initialize Bower
4.Download Polymer
5.Preview via your preferred web
server
#devfest2015 #gdgkk
Step 2:
Set Up
1.Create a Cordova project
2.Go to the www folder of the
Cordova project
3.Initialize Bower
4.Download Polymer
5.Preview via your preferred web
server
#devfest2015 #gdgkk
Step 2:
Set Up
1.Create a Cordova project:
cordova create [projectname]
[packagename] [foldername]
e.g. cordova create polymertest
com.webgrrrl.polymertest
polymertest
2.Go to the www folder of the
Cordova project
3.Initialize Bower
4.Download Polymer
5.Preview via your preferred web
server
#devfest2015 #gdgkk
Step 2:
Set Up
1.Create a Cordova project
2.Go to the www folder of the
Cordova project:
cd polymertest/www
3.Initialize Bower
4.Download Polymer
5.Preview via your preferred web
server
#devfest2015 #gdgkk
Step 2:
Set Up
1.Create a Cordova project
2.Go to the www folder of the
Cordova project
3.Initialize Bower:
bower init
Answer all questions, and
press Enter to leave blank.
4.Download Polymer
5.Preview via your preferred web
server
#devfest2015 #gdgkk
Step 2:
Set Up
2.4. Download Polymer
If using Polymer Starter Kit,
make sure to combine the
Bower JSON file contents
If downloading from Github:
bower install --save
Polymer/polymer
bower install --save
Polymer/webcomponentsjs
bower install --save
Polymer/core-elements
bower install --save
Polymer/paper-elements
#devfest2015 #gdgkk
Step 2:
Set Up
1.Create a Cordova project
2.Go to the www folder of the
Cordova project
3.Initialize Bower
4.Download Polymer
5.Preview via your preferred web
server:
Python 3:
python -m http.server
Python 2.7:
python -m SimpleHTTPServer
#devfest2015 #gdgkk
Step 3:
Compile
1.You'll need to be online so that
Cordova can install
dependencies where required
cordova add platform android
cordova build android
#devfest2015 #gdgkk
Errors
➔Already exist as an archive
◆Workaround: delete the archive
from the www folder
◆Source: Stack Overflow
#devfest2015 #gdgkk
Errors
➔Connection to server was
unsuccessful
◆Workaround: copy index.html as
main.html. Redirect index.html
using JavaSript to main.html
◆Source:
https://www.robertkehoe.com/2
013/01/fix-for-phonegap-
connection-to-server-was-
unsuccessful/
#devfest2015 #gdgkk
https://goo.gl/4Phciu
My original notes
#devfest2015 #gdgkk
http://goo.gl/forms/2zh1
JA10ZZ
Yes please
*Coming soon
to YouTube

More Related Content

What's hot

Marek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with BuildoutMarek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with Buildoutmarekkuziel
 
Golang Microservices meetup
Golang Microservices meetupGolang Microservices meetup
Golang Microservices meetupGirish Ramnani
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)Evan Lin
 
用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務Bo-Yi Wu
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsLuca Milanesio
 
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialHeather McNamee
 
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangCOSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangEvan Lin
 
Git & version control crash course
Git & version control crash course Git & version control crash course
Git & version control crash course Eslam Saeed
 
WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...
WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...
WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...Wasura Wattearachchi
 
GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab, Inc
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Borek Bernard
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeLuca Milanesio
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productiveKarsten Dambekalns
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryLuca Milanesio
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginLuca Milanesio
 
Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitAdieu
 
Berlin Apache Con EU Airflow Workshops
Berlin Apache Con EU Airflow WorkshopsBerlin Apache Con EU Airflow Workshops
Berlin Apache Con EU Airflow WorkshopsJarek Potiuk
 
The Grails introduction workshop
The Grails introduction workshopThe Grails introduction workshop
The Grails introduction workshopGR8Conf
 

What's hot (20)

Marek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with BuildoutMarek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with Buildout
 
Golang Microservices meetup
Golang Microservices meetupGolang Microservices meetup
Golang Microservices meetup
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
 
用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData Analytics
 
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
 
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangCOSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
 
Project52
Project52Project52
Project52
 
Git & version control crash course
Git & version control crash course Git & version control crash course
Git & version control crash course
 
WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...
WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...
WSO2 Screencast - How to Easily Build a Git-Based CI/CD Pipeline for your API...
 
GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review Upgrade
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-delivery
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and git
 
Berlin Apache Con EU Airflow Workshops
Berlin Apache Con EU Airflow WorkshopsBerlin Apache Con EU Airflow Workshops
Berlin Apache Con EU Airflow Workshops
 
The Grails introduction workshop
The Grails introduction workshopThe Grails introduction workshop
The Grails introduction workshop
 

Viewers also liked

CBMS4303 Topic 1 slides (Open University Malaysia)
CBMS4303 Topic 1 slides (Open University Malaysia)CBMS4303 Topic 1 slides (Open University Malaysia)
CBMS4303 Topic 1 slides (Open University Malaysia)Lorna Timbah
 
CBMS4303 Topic 2 slides (Open University Malaysia)
CBMS4303 Topic 2 slides (Open University Malaysia)CBMS4303 Topic 2 slides (Open University Malaysia)
CBMS4303 Topic 2 slides (Open University Malaysia)Lorna Timbah
 
CBMS4303 Topic 3 slides (Open University Malaysia)
CBMS4303 Topic 3 slides (Open University Malaysia)CBMS4303 Topic 3 slides (Open University Malaysia)
CBMS4303 Topic 3 slides (Open University Malaysia)Lorna Timbah
 
CBMS4303 Topic 4 slides
CBMS4303 Topic 4 slidesCBMS4303 Topic 4 slides
CBMS4303 Topic 4 slidesLorna Timbah
 
CBMS4303 Topic 2 Short Notes (Open University Malaysia)
CBMS4303 Topic 2 Short Notes (Open University Malaysia)CBMS4303 Topic 2 Short Notes (Open University Malaysia)
CBMS4303 Topic 2 Short Notes (Open University Malaysia)Lorna Timbah
 
Re-experiencing learning
Re-experiencing learningRe-experiencing learning
Re-experiencing learningLorna Timbah
 
CBMS4303 Topic 1 Short Notes (Open University Malaysia)
CBMS4303 Topic 1 Short Notes (Open University Malaysia)CBMS4303 Topic 1 Short Notes (Open University Malaysia)
CBMS4303 Topic 1 Short Notes (Open University Malaysia)Lorna Timbah
 
08-Management Information System
08-Management Information System08-Management Information System
08-Management Information SystemWahyu Wijanarko
 

Viewers also liked (9)

CBMS4303 Topic 1 slides (Open University Malaysia)
CBMS4303 Topic 1 slides (Open University Malaysia)CBMS4303 Topic 1 slides (Open University Malaysia)
CBMS4303 Topic 1 slides (Open University Malaysia)
 
CBMS4303 Topic 2 slides (Open University Malaysia)
CBMS4303 Topic 2 slides (Open University Malaysia)CBMS4303 Topic 2 slides (Open University Malaysia)
CBMS4303 Topic 2 slides (Open University Malaysia)
 
CBMS4303 Topic 3 slides (Open University Malaysia)
CBMS4303 Topic 3 slides (Open University Malaysia)CBMS4303 Topic 3 slides (Open University Malaysia)
CBMS4303 Topic 3 slides (Open University Malaysia)
 
CBMS4303 Topic 4 slides
CBMS4303 Topic 4 slidesCBMS4303 Topic 4 slides
CBMS4303 Topic 4 slides
 
CBMS4303 Topic 2 Short Notes (Open University Malaysia)
CBMS4303 Topic 2 Short Notes (Open University Malaysia)CBMS4303 Topic 2 Short Notes (Open University Malaysia)
CBMS4303 Topic 2 Short Notes (Open University Malaysia)
 
Re-experiencing learning
Re-experiencing learningRe-experiencing learning
Re-experiencing learning
 
CBMS4303 Topic 1 Short Notes (Open University Malaysia)
CBMS4303 Topic 1 Short Notes (Open University Malaysia)CBMS4303 Topic 1 Short Notes (Open University Malaysia)
CBMS4303 Topic 1 Short Notes (Open University Malaysia)
 
Organisational impacts of Knowledge Management on People, Processes, Products...
Organisational impacts of Knowledge Management on People, Processes, Products...Organisational impacts of Knowledge Management on People, Processes, Products...
Organisational impacts of Knowledge Management on People, Processes, Products...
 
08-Management Information System
08-Management Information System08-Management Information System
08-Management Information System
 

Similar to Creating mobile apps the web developer way

App開發 - Web Developer的逆襲
App開發 - Web Developer的逆襲App開發 - Web Developer的逆襲
App開發 - Web Developer的逆襲益祥 許
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017MarcinStachniuk
 
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptHoracio Gonzalez
 
Multi-stage Docker builds to make building easy!
Multi-stage Docker builds to make building easy!Multi-stage Docker builds to make building easy!
Multi-stage Docker builds to make building easy!Milindu Sanoj Kumarage
 
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptHoracio Gonzalez
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandTroublemaker Khunpech
 
Getting Your Hooks Into Cordova
Getting Your Hooks Into CordovaGetting Your Hooks Into Cordova
Getting Your Hooks Into CordovadevObjective
 
Getting your Hooks into Cordova
Getting your Hooks into CordovaGetting your Hooks into Cordova
Getting your Hooks into CordovaGavin Pickin
 
Angular Part 3 (Basic knowledge)
Angular Part 3 (Basic knowledge)Angular Part 3 (Basic knowledge)
Angular Part 3 (Basic knowledge)Rohit Singh
 
Building a Django App with Heroku
Building a Django App with HerokuBuilding a Django App with Heroku
Building a Django App with Herokuexplorro
 
Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer John Riviello
 
GDG Kraków - Intro to front-end automation using bower.js & grunt.js
GDG Kraków - Intro to front-end automation using bower.js & grunt.jsGDG Kraków - Intro to front-end automation using bower.js & grunt.js
GDG Kraków - Intro to front-end automation using bower.js & grunt.jsDominik Prokop
 
Build your own CI/CD with docker, net core and azure
Build your own CI/CD with docker, net core and azureBuild your own CI/CD with docker, net core and azure
Build your own CI/CD with docker, net core and azurePau López
 
GDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWSGDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWSLadislav Prskavec
 
Introduction to using Grunt & Bower with WordPress theme development
Introduction to using Grunt & Bower with WordPress theme developmentIntroduction to using Grunt & Bower with WordPress theme development
Introduction to using Grunt & Bower with WordPress theme developmentJames Bundey
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova TutorialJacky Chen
 
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniterCodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniterWeerayut Hongsa
 

Similar to Creating mobile apps the web developer way (20)

App開發 - Web Developer的逆襲
App開發 - Web Developer的逆襲App開發 - Web Developer的逆襲
App開發 - Web Developer的逆襲
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
 
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
 
Multi-stage Docker builds to make building easy!
Multi-stage Docker builds to make building easy!Multi-stage Docker builds to make building easy!
Multi-stage Docker builds to make building easy!
 
PhoneGap Lab
PhoneGap LabPhoneGap Lab
PhoneGap Lab
 
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Getting Your Hooks Into Cordova
Getting Your Hooks Into CordovaGetting Your Hooks Into Cordova
Getting Your Hooks Into Cordova
 
Getting your Hooks into Cordova
Getting your Hooks into CordovaGetting your Hooks into Cordova
Getting your Hooks into Cordova
 
Getting Your Hooks into Cordova
Getting Your Hooks into CordovaGetting Your Hooks into Cordova
Getting Your Hooks into Cordova
 
Bower Fundamentals
Bower FundamentalsBower Fundamentals
Bower Fundamentals
 
Angular Part 3 (Basic knowledge)
Angular Part 3 (Basic knowledge)Angular Part 3 (Basic knowledge)
Angular Part 3 (Basic knowledge)
 
Building a Django App with Heroku
Building a Django App with HerokuBuilding a Django App with Heroku
Building a Django App with Heroku
 
Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer
 
GDG Kraków - Intro to front-end automation using bower.js & grunt.js
GDG Kraków - Intro to front-end automation using bower.js & grunt.jsGDG Kraków - Intro to front-end automation using bower.js & grunt.js
GDG Kraków - Intro to front-end automation using bower.js & grunt.js
 
Build your own CI/CD with docker, net core and azure
Build your own CI/CD with docker, net core and azureBuild your own CI/CD with docker, net core and azure
Build your own CI/CD with docker, net core and azure
 
GDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWSGDGSCL - Docker a jeho provoz v Heroku a AWS
GDGSCL - Docker a jeho provoz v Heroku a AWS
 
Introduction to using Grunt & Bower with WordPress theme development
Introduction to using Grunt & Bower with WordPress theme developmentIntroduction to using Grunt & Bower with WordPress theme development
Introduction to using Grunt & Bower with WordPress theme development
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova Tutorial
 
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniterCodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
CodeIgniter For Project : Workshop 001 - Install Docker and CodeIgniter
 

Recently uploaded

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Creating mobile apps the web developer way

  • 1. #devfest2015 #gdgkk Creating Mobile Apps the Web Developer Way Lorna Timbah @webgrrrl Community Manager, GDGKK
  • 2. #devfest2015 #gdgkk Steps 1 - Install A Bunch of Software 2 - Set Up Your Web Project 3 - Compile Your Web Project
  • 3. #devfest2015 #gdgkk Step 1: Install 1.Install Python (this walk-through uses Python 3) 2.Install nodejs, npm, and JDK. 3.Set the environment paths for Python, nodejs, npm, and JDK. 4.Install Android SDK and update to at least Android 4.4 or higher (API 19). 5.Install Bower via npm: npm install -g bower 6.Install Cordova via npm: npm install -g cordova
  • 4. #devfest2015 #gdgkk Step 1: Install 1.Install Python (this walk-through uses Python 3) 2.Install nodejs, npm, and JDK. 3.Set the environment paths for Python, nodejs, npm, and JDK. 4.Install Android SDK and update to at least Android 4.4 or higher (API 19). 5.Install Bower via npm: npm install -g bower 6.Install Cordova via npm: npm install -g cordova
  • 5. #devfest2015 #gdgkk Step 2: Set Up 1.Create a Cordova project 2.Go to the www folder of the Cordova project 3.Initialize Bower 4.Download Polymer 5.Preview via your preferred web server
  • 6. #devfest2015 #gdgkk Step 2: Set Up 1.Create a Cordova project 2.Go to the www folder of the Cordova project 3.Initialize Bower 4.Download Polymer 5.Preview via your preferred web server
  • 7. #devfest2015 #gdgkk Step 2: Set Up 1.Create a Cordova project: cordova create [projectname] [packagename] [foldername] e.g. cordova create polymertest com.webgrrrl.polymertest polymertest 2.Go to the www folder of the Cordova project 3.Initialize Bower 4.Download Polymer 5.Preview via your preferred web server
  • 8. #devfest2015 #gdgkk Step 2: Set Up 1.Create a Cordova project 2.Go to the www folder of the Cordova project: cd polymertest/www 3.Initialize Bower 4.Download Polymer 5.Preview via your preferred web server
  • 9. #devfest2015 #gdgkk Step 2: Set Up 1.Create a Cordova project 2.Go to the www folder of the Cordova project 3.Initialize Bower: bower init Answer all questions, and press Enter to leave blank. 4.Download Polymer 5.Preview via your preferred web server
  • 10. #devfest2015 #gdgkk Step 2: Set Up 2.4. Download Polymer If using Polymer Starter Kit, make sure to combine the Bower JSON file contents If downloading from Github: bower install --save Polymer/polymer bower install --save Polymer/webcomponentsjs bower install --save Polymer/core-elements bower install --save Polymer/paper-elements
  • 11. #devfest2015 #gdgkk Step 2: Set Up 1.Create a Cordova project 2.Go to the www folder of the Cordova project 3.Initialize Bower 4.Download Polymer 5.Preview via your preferred web server: Python 3: python -m http.server Python 2.7: python -m SimpleHTTPServer
  • 12. #devfest2015 #gdgkk Step 3: Compile 1.You'll need to be online so that Cordova can install dependencies where required cordova add platform android cordova build android
  • 13. #devfest2015 #gdgkk Errors ➔Already exist as an archive ◆Workaround: delete the archive from the www folder ◆Source: Stack Overflow
  • 14. #devfest2015 #gdgkk Errors ➔Connection to server was unsuccessful ◆Workaround: copy index.html as main.html. Redirect index.html using JavaSript to main.html ◆Source: https://www.robertkehoe.com/2 013/01/fix-for-phonegap- connection-to-server-was- unsuccessful/
  • 15.

Editor's Notes

  1. There are multitude of ways for us to move over from web development to mobile development. A majority of it requires us to re-learn a new language, such as Java (shivers). But what if I tell you that there is a way to use what skills you already have as a web developer, and transition rather seamlessly into a mobile developer, without learning different programming languages and without changing too much the way you’ve done apps on the web? This walkthrough shows you how to prepare your web dev environment so you can compile them into mobile apps. If you have a good understanding of using the AMP stack (Apache, MySQL, PHP), then you will be comfortable following these steps. To be honest, there are simpler ways to go about doing this. However, too many shortcuts may lead you to not understand the reasoning behind why we need to compile, what works behind the scenes, and so on. PhoneGap and Ionic are two such easy tools. You know what Apache does, what MySQL does, and what PHP does, right? That is why you chose an AMP stack like XAMPP or WAMP or LAMPP. I’m going at this with the same reasoning, too. Once you understand what Cordova does, what Android SDK does, what nodejs does, and so on and so forth, you should find it easier to identify the kind of full/easy package out there that would fit your need. What you must understand about mobile development is that you must have at least three minimum skills -- HTML5, CSS, and JavaScript. Those are all you need to make your first ever app. More importantly, your web app will be able to run offline, just like a native app.
  2. These are optional steps. Do these steps if you plan to use Polymer to build your web app.
  3. These are optional steps. Do these steps if you plan to use Polymer to build your web app.
  4. These are optional steps. Do these steps if you plan to use Polymer to build your web app.
  5. These are optional steps. Do these steps if you plan to use Polymer to build your web app.
  6. Here is my simpler one-page walkthrough of the same steps.