into developer by the love of code. • 7 years doing research/teaching/programming at the university • 5 years doing web/mobile programming in startups and a web agency (Checkthis, Frontback, Mondial Telecom, “my media is rich”) • 3 years of iOS:
are hard (iCloud anyone?) • Memory is limited (Over 70MB of RAM, your app will probably be killed by the system) • It is very stateful: no refresh button.
accesses or blocking network requests on the main thread. The catches: If you access the UI on a background thread: crashes and freezes Core data constraints Concurrency is hard
crummy (but it’s getting better) [martin willDo:aTalk on:tuesday]; (http://fuckingblocksyntax.com) • But it is quite dynamic (selector, sizzling) • Object model is ok (less complex than C++). • Memory management is ok since ARC
solid, but not that modern. Lots of cruft. “More than one way to do it”. • Lots of C APIs: ABAdressBook, Core graphics (Objc-C method call model has performance impacts)
based with Interface Builder or code with absolute positions: No flow engine like in HTML • Text layout is hard: You would be surprised by how much code you need to write to get a label with a red link in a text.
unless you’re a VOIP or geo app. • You’re in a sandbox: no general file access, no real inter app communication (no common file system), no customization of the home screen. • Rules for IAPs : 30% to apple for virtual goods.
but the language can be obscure. • Not enough official tutorials • Example code from Apple is of poor quality • Lots of the info is locked in WWDC videos.
to launch them on device, to upload them to the app store, to send push notifications, to use IAPs,… • Max 100 devices/account to test • XCode is a UI based programming env. Lots of source controle problems with generated XML files. • It’s closed source software. Some things are really hard to debug
i18n (date, distances) தจ -> zhōng wén (http://nshipster.com/cfstringtransform/) • Photographic manipulation: included filters, face detection, very powerful and efficient (but C). • A new game SDK for 2d games: SpriteKit • Not much fragmentation. • Every user has entered his credit card
XCode is a good IDE (but opinionated) • Tooling: static analysis, profiling and debugger. New: continuous integration • The SDK is getting better by each release (QR Code, Blink, Speech Synthesis, iBeacon, Background fetch in iOS7) • Lots of work available lately.
• Not many real indies, most devs are contractors. • Lots of old timers coming from the Mac, which is cool. • No testing culture • Podcast culture • Open source still a bit spotty (e.g. Twitter support as of last June) • Lots of paying tools. • Conferences tend to be expensive (WWDC :-( ).