Create Your First "Native" Mobile App with JavaScript + PhoneGap

688 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
688
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Create Your First "Native" Mobile App with JavaScript + PhoneGap

  1. 1. Create Your First "Native" Mobile App with JavaScript + PhoneGap Steve Phillips / @elimisteve SBHX 2013.12.18
  2. 2. The Plan ● Intro to PhoneGap ○ Create native-ish mobile apps using web technologies ● Example app: Encrypted Anti-TODO List ○ Store encrypted list on untrusted server, create new list items and query from phone ● Writing this simple app inspired a more general solution: CrypTag
  3. 3. Phone Gap ● “PhoneGap is a free and open source framework that allows you to create mobile apps using standardized web APIs for the platforms you care about.” ● Advantages ○ Speed of development ○ Code reusability ○ Use familiar technologies (if you do web dev)
  4. 4. Phone Gap (2) ● Disadvantages ○ No native-looking UI elements ■ See Titanium Mobile, Trigger.io, Steroids.js ● (Actually, don’t see Titanium Mobile; it sucks) ○ Performance ● Installation ○ Out of scope of this brief talk ○ See http://phonegap.com/install/ ■ Talk to me if you need help or join #sbhackerspace on FreeNode by visiting http://irc.sbhackerspace.com in your browser
  5. 5. Example App: Encrypted Anti-TODO ● Let’s see some code! ○ Will post to GitHub soon ● Front end ○ PhoneGap (JS) ● Back end ○ Python on AppFog using Flask microframework ■ Don’t use AppFog, either ■ App does down, doesn’t start back up like Heroku, GAE, etc
  6. 6. Next Step: CrypTag ● Encrypted, Taggable, Searchable Web Storage ● How is it searchable and encrypted? ○ Not full search; can query by tag ■ App ideas: notes, bookmarks, more ● “Then the server stores the tags in plaintext?” ○ Nope; client stores mapping between tags (“snowden”) and a random hex string (“b6a27d9”) ○ Server only ever sees the random strings
  7. 7. Closing Points ● WebTech Wednesday in 2014 ○ Nodebots? Docker? Ansible? D3? pandas? ● TA3M: Techno-Activism 3rd Mondays ● Google Group ○ http://gg.sbhackerspace.com ● SBHX IRC channel ○ #sbhackerspace on FreeNode ○ Visit http://irc.sbhackerspace.com ● Exercism.io
  8. 8. Contact ● Email ○ elimisteve@gmail.com or ○ steve@tryingtobeawesome.com ● GitHub ○ github.com/elimisteve ● Twitter ○ @elimisteve ● FreeNode ○ elimisteve or elimisteve1

×