Transcript

2.
Native App vs. Web AppObjective C + APIs/Backend HTML5/CSS3/JS + BackendHigher Cost ≈ 3-5x Considerably lower cost because they are more commonNative does more, its faster/smoother languagesApp Store Promotion Instant updatesUpdate require apple approval Native does more, is faster/smootherNative sits on the device Deployed online and viewed via safari or pulled into application wrapperNative is best when you need tocache/store a lot of content that does No internet, no app. There are somenot change. caching options, but limited.Access to all iOS APIs Access to Limited APIs

4.
iDevices: stop worrying about this stuff! Reliable Layouts (IE6 is dead) Great CSS3 Support because its the almighty WebKit Flash mobile is dead (Kinda) Mobile Video is standard and reliable Hover events, there is no hover for touch.

5.
Start worrying about this, though. 1. Animation/transition performance Transitions are possible, but use wisely. To many will cause poor performance 2. Slow Internet speed Dont overload with high-res images or non-optimized video. Use progressive downloading 3. No fixed positioning No toolbars at top of pages, unless you use a library 4. Need to pay attention how content is being served Web view and mobile safari do not fire the same events, for example. 6. Two screen orientations Design for landscape and portrait How will content re-flow based on position. Headers shrink down, Sidebars become footers

10.
Best Practices: Development Keep requests down (5-10 per page) No Faux CSS Elements :before or :after Anything that causes dom redraws is bad Use classes for everything (Turn then on/off when you need them) CSS3 is good, but go easy on it Optimize all your images Use CSS/Image sprites, wisely Canvas and SVG elements are pretty good

11.
HTML 5Video tags are good.Some of the new HTML form attributes will trigger the alternate screenkeyboards on mobile devices. This is really handy.

14.
Font Support - Use it!iosfonts.com list of native fonts on iPad and iPhoneTypekit works on everythingGoogle font directory now works on everything.Use something like fontsquirrel.com to generate fonts in thecorrect formats.Check font licenses before including them.Older iOS versions are at a (50%) risk of crashing when youbind different @font-face weights to the same typeface.

15.
Mobile Webkit vs. WebkitMobile webkit is a lot like desktop webkit, except it runs on slowerhardware, tries to scale everything to a tiny screen*, and does notremember what position:fixed is.*unless you tell it not to through the use of meta tags:<meta name="viewport" content="width=device-width, initial-scale=1.0;maximum-scale=1.0;">

16.
TricksThere are some undocumented features of webkit that producedesired effects.For example, translate3d can be exploited for smoother rendering:-webkit-transform: translate3d(0,0,0)Unfortunately, stuff like this is not a feature and could be "fixed" byapple at any time.

20.
JavascriptDont use JS libraries, unless you really need to.Standard JS is reliable.iScroll JS if you have to to use custom scrollingRapahelJS for SVG and graphicsMobile browsers have device-specific JavaScript events that you areable to hook into: device rotation touch (different from click)

21.
Backend / AJAXThe back end is going to be pretty much identical.All of the dynamic data, whether you have a web or nativeapp, is likely going to be piped over http.