Published by Marco on 27. Jan 2014 08:50:35
------------------------------------------------------------------------

This article originally appeared on "earthli News"
 and has been cross-posted
here.

--------------------------------------------------------------------------------


It's well-known that Apple runs a walled garden. Apple makes its developers pay
a yearly fee to get access to that garden. In fairness, though, they do provide
some seriously nice-looking APIs for their iOS and OS X platforms. They've been
doing this for years, as listed in the post "iOS 7 only is the only sane thing
to do" by Tal Bereznitskey
.
It argues that the new stuff in iOS 7 is compelling enough to make developers
consider dropping support for all older operating systems. And this for
pragmatic reasons, such as having far less of your own code to support and
correspondingly making the product cost less to support. It's best to check your
actual target market, but Apple users tend to upgrade very quickly and reliably,
so an iOS 7-only strategy is a good option.

Among the improvements that Apple has brought in the recent past are blocks
(lambdas), GCD (asynchronous execution management) and ARC (mostly automated
memory management), all introduced in iOS 4 and OS X 10.6 Snow Leopard. OS X
10.9 Mavericks and iOS 7 introduced a slew of common UI improvements (e.g.
AutoLayout and HTML strings for labels). [1]

To find the videos listed below, browse to "WWDC 2013 Development Videos"
.

For the web, Apple has improved developer tools and support in Safari
considerably. There are two pretty good videos demonstrating a lot of these
improvements:

#601: Getting to Know Web Inspector

   This video shows a lot of improvements to Safari 7 debugging, in the form of
   a much more fluid and intuitive Web Inspector and the ability to save changes
   made there directly back to local sources.

#603: Getting the Most Out of Web Inspector

   This video shows how to use the performance monitoring and analysis tools in
   Safari 7. The demonstration of how to optimize rendering and compositing
   layers was really interesting.

For non-web development, Apple has been steadily introducing libraries to
provide support for common application tasks, the most interesting of which are
related to UI APIs like Core Image, Core Video, Core Animation, etc.

Building on top of these, Apple presents the Sprite Kit -- for building 2D
animated user interfaces and games -- and the Scene Kit -- for building 3D
animated user interfaces and games. There are some good videos demonstrating
these APIs as well.

#500: What’s New in Scene Kit

   An excellent presentation content-wise; the heavily accented English is
   sometimes a bit difficult to follow, but the material is top-notch.

#502: Introduction to Sprite Kit

   This is a good introduction to nodes, textures, actions, physics and the
   pretty nice game engine that Apple delivers for 2D games.

#503: Designing Games with Sprite Kit

   The first half is coverage of tools and assets management along with more
   advanced techniques. The second half is with game designers Graeme Devine [2]
   and Spencer Lindsay, who designed the full-fledged online multi-player game
   Adventure to showcase the Sprite Kit.

--------------------------------------------------------------------------------


[1] Disclaimer: I work with C# for Windows and HTML5 applications of all
    stripes. I don't actually work with any of these technologies that I listed
    above. The stuff looks fascinating, though and, as a framework developer,
    I'm impressed by the apparent cohesiveness of their APIs. Take
    recommendations with a grain of salt; it could very well be that things are
    a good deal less rosy when you actually have to work with these
    technologies.


[1] Formerly of Trilobyte and then id Software, now at Apple.