phonegap - jfokus.se · native vs web • - its a silly argument • is native when you think...
TRANSCRIPT
![Page 1: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/1.jpg)
PhoneGap
jfokus 2011 - Valentines Edition!
![Page 2: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/2.jpg)
Our attempt at an agenda... but lets be agile. ;)
1:30 - 2:00 ... PhoneGap: a quick intro2:00 - 3:00 ... Platform Quickstarts3:00 - 3:15 ... Building Apps3:15 - 3:45 ... coffee break3:45 - ?:?? ... QA
PLEASE DO NOT DOWNLOAD ANY SDKS!
I have them on a thumb drive for you. <3
![Page 3: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/3.jpg)
intro
• me
• nitobi
• phonegap
![Page 4: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/4.jpg)
@brianleroux
• web / free software geek
• SPACELORD!1!! @nitobi
• http://westcoastlogic.com
• http://mobile.minutewith.com
![Page 5: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/5.jpg)
@nitobi
• tiny consultancy in Vancouver, Canada
• user experience focus
• free software creators maintainers
• training, support and dev services/strategy
![Page 6: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/6.jpg)
@phonegap
• cross platform mobile dev w/ web tech
• html, css & js
• device apis
![Page 7: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/7.jpg)
PhoneGap Project
• Philosophy
• Platforms
• Device APIs
• Getting Help
![Page 8: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/8.jpg)
problem iOS ............... Objective C Android ........... Java "Harmony" Dalvik BlackBerry ........ Java J2ME JVM Symbian ........... * MeeGo ............. ? Windows Mobile .... C variants Windows Phone 7 ... .NET C variants webOS ............. HTML, CSS & JS Bada .............. C++
![Page 9: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/9.jpg)
solution: internet
![Page 10: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/10.jpg)
HTML, CSS and JS
![Page 11: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/11.jpg)
(I think this guy is Swedish btw.)
![Page 12: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/12.jpg)
our “solution”
• was iOS only
• instantiate a webview (but it can only call JS methods)
• intercept url calls and delegate to Obj C
• known as the "PhoneGap Technique"
• - its a hack; moreso a social observation than a technical achievement
![Page 13: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/13.jpg)
nobody cared
![Page 14: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/14.jpg)
then..
• Android
• BlackBerry
• etc.
![Page 15: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/15.jpg)
Back to Philosophy
• simplest thing that could possibly work
• implementation > spec
• the future is web apps
• standards are a community process and should be informed by implementation
• the purpose of the project is to provide an implementation example for browsers
![Page 16: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/16.jpg)
the history lesson
2008, August ...... iPhone 2008, November .... Android 2008, November .... Blackberry (4.2!) 2009, August ...... Windows Mobile 2009, September ... Symbian 2009, November .... webOS
* work under way for Qt, Windows Phone 7 and Bada
![Page 17: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/17.jpg)
testing
• mobile-spec
• how we do it
• more techniques being prototyped: weinre, selenium, etc
![Page 18: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/18.jpg)
The Future
• api overload negation
• more platforms
• plugin focused
• more automation and tooling
![Page 19: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/19.jpg)
post 1.0
• menu element
• webgl
• notifications
• background services with js
![Page 20: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/20.jpg)
PhoneGap Q’s
• governance and licensing
• by the numbers
• rejection fud
• native vs web debate
![Page 21: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/21.jpg)
governance
• meritocrazy (not a meritocracy)
• IBM and Nitobi
• MANY outside itch scratchers
• http://groups.google.com/group/phonegap-dev
• plugins plugins plugins
![Page 22: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/22.jpg)
licensing
• inbound apache
• outbound mit/bsd
![Page 23: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/23.jpg)
numbers for your boss
• 300k uniques / month to http://phonegap.com
• 11k downloads a month
• thousands of apps
• 4300 members on the mailing list
• 50+ libs/tools/whatever
• 100s of contributors
![Page 24: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/24.jpg)
Rejection FUD
• Apple does NOT reject PhoneGap
• PhoneGap only uses public apis
• PhoneGap does not recompile: just a wrapper. Its like a condom. Except not gross and feels great.
![Page 25: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/25.jpg)
native vs web
• - its a silly argument
• <button> is native when you think about it
• scrolling is not a business requirement
• PhoneGap/BlackBerry apps are better even!
• if you want native: go for it
• if you want portability: go webif you want to help shape the future: implement it
![Page 26: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/26.jpg)
Alternatives?
• Appcelerator
• Rhodes
• There are many others.
![Page 27: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/27.jpg)
Competition?
• Licensing
• Adoption
• Platforms
• Tool chain integration
• Standards
![Page 28: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/28.jpg)
Complementary Tools
• XUI
• Lawnchair
• jQuery / jQuery Mobile / jqTouch
• Sencha
• Zepto
• insert your favorite $ here
![Page 29: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/29.jpg)
Also
• weinre
• Ripple
• http://build.phonegap.com
![Page 30: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/30.jpg)
challenges
![Page 31: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/31.jpg)
opportunities!
![Page 32: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/32.jpg)
You probably only own one phone
![Page 33: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/33.jpg)
this is what SDK installation is like
![Page 34: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/34.jpg)
your boss/client/whoever seems to think they need to replicate their
entire site as an app
![Page 35: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/35.jpg)
dealing w/ the madness
• start with ONE thing that you can ship in TWO weeks MAX
• You MUST HAVE automated builds from revision control
• aim for a web app, iOS and Android to start
![Page 36: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/36.jpg)
more red flags
• settings screen
• single sentence description contains the word "and"
• no build chain
• no rcs
• no adhoc distribution
• no time!
![Page 37: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/37.jpg)
lets build some apps!
![Page 38: PhoneGap - jfokus.se · native vs web • - its a silly argument • is native when you think about it • scrolling is not a business requirement • PhoneGap/BlackBerry](https://reader033.vdocuments.net/reader033/viewer/2022053007/5f0b482f7e708231d42fbea2/html5/thumbnails/38.jpg)
email me:
for build.phonegap.com access