Mittlerweile existieren zahlreiche Frameworks und Software Development Kits zur Erstellung von iPhone-Apps.

Da das Erlernen und Programmieren von nativen Apps mit Objective C nicht jedermanns Sache ist, bieten diese Entwicklungstools und -frameworks einen alternativen Ansatz, der vor allem für Webentwickler interessant ist.

Im folgenden einen Überblick über knapp ein Dutzend an aktuellen Frameworks und SDKs, die zur Entwicklung von nativen oder webbasierten Apps für das iPhone gedacht sind.

Native Applikationen

Native Anwendungen werden über Apples AppStore veröffentlicht und müssen deshalb den Richtlinien von Apple entsprechen, die für den AppStore gelten (z.B. hinsichtlich Benutzeroberfläche, technischer Aufbau, etc.). Außerdem wird eine Mitgliedschaft in Apples Developer Programm vorausgesetzt.

Manche der folgenden Framework erzeugen direkt das fertige Programm, das dann in den AppStore eingereicht werden kann. Andere erzeugen ein XCode-Projekt samt Quellcode, das dann dann nur noch kompiliert werden muss.

Flash CS5

In der kommenden Flashversion wird es möglich sein, eine Anwendung für das iPhone zu exportieren. Die geplante Betaversion von Flash CS5 entfiel leider, weshalb noch auf das finale Release gewartet werden muss.

Für Flash-Entwickler dürfte dies sehr interessant sein, aus der gewohnten Umgebung und die vorhandenen Kenntnisse einzusetzen, zumal auch das Flex-SDK zukünftig die Wandlung in iPhone-Apps erlauben soll.

Leider gibt es keine UI-Elemente, was sich (irgendwann) mit dem mobilen Flex Framework (Codename Slider) vermutlich ändern wird. Aktuell sollen die exportierten iPhone-Files noch recht groß sein (mehrere Megabyte).

Link: Endlich Flash auf dem iPhone! (Übersicht)
Link: Slider: Neues Flex Mobile Framework
Link: BBuilding iPhone Applications with Flash (Demo-Video)

Corona

Corona stammt von Ansca Mobile, einer Firma von zwei ehemaligen Adobe-Mitarbeitern, die im Bereich Flash Lite arbeiteten. Das Corona SDK erstellt native iPhone-Apps, die sehr klein sein können (ab 300 KB) und sich somit auch effizient direkt vom iPhone per WLAN/UMTS aus dem App Store herunterladen lassen.

Corona verwendet eine Programmiersprache namens Lua, die ähnlich wie JavaScript oder ActionScript ist.

Das Corona SDK lässt sich 30 Tage testen. Die Registrierung kostet 99$.

Link: www.anscamobile.com
Link: Corona Documentation
Link: Lua Sample Code

ELIPS Studio 3

ELIPS Studio 3 ist ein Tool zur Entwicklung von mobilen Applikation mit ActionScript und MXML. Es wandelt MXML und ActionScript-Code in nativen (lesbaren) C-Code, nicht direkt in Binärcode (wie Flash CS5). Deshalb lassen sich die Anwendungen laut Hersteller auch im iPhone-Simulator testen.

ELIPS Studio 3 is a cross-platform mobile application SDK based on Adobe’s Flex Builder. […] ELIPS Studio 3 is based on native compilation. It will automatically generate, optimize and package your Flex applications as native code for industry-leading platforms, including iPhone, Android, Symbian, Windows Mobile

Mithilfe des Flex Builder werden Anwendungen erstellt, die nicht das normale Flex-Framework einsetzen, sondern das mitgelieferte „mobile-optimized Flex Framework”. Diese Komponente bringen auch neue Funktionalitäten wie z.B. Anrufe, Zugriff auf das Adressbuch, SMS bzw. MMS oder das Aufnehmen von Fotos/Video mit.

Außerdem interessant: Fertige UI-Komponenten, die denen des iPhones entsprechen, werden angeboten. Durch ein automatisches Mapping lassen sich deshalb die nativen iPhone-UI-Elemente verwenden.

Link: developer.openplug.com/
Link: Beta 2 supports the iPhone
Link: Building your application for the iPhone

PhoneGAP

PhoneGap ist ein Open Source Framework. Zur Entwicklung der Anwendungen werden HTML und JavaScript verwendet.

If you’re a web developer who wants to build mobile applications in HTML and JavaScript while still taking advantage of the core features in the iPhone, Android and Blackberry SDKs, PhoneGap is for you.

Das PhoneGap-Framework bringt quasi eine native Basisanwendung, die als Startpunkt eine HTML-Seite aufruft. Über JavaScript hat man aus der HTML-Seite auch Zugriff auf native Funktionen des iPhones wie GPS, Accelerometer, etc.

Unity3D

Für Spieleentwickler gibt es eine Erweiterung für Unity3D.

Unity is a multiplatform game development tool, designed from the start to ease creation. A fully integrated professional application, Unity just happens to contain the most powerful engine this side of a million dollars.

Link: Unity 3D iPhone Publishing

Webbasierte Applikationen

Neben nativen Applikation, die über den AppStore vertrieben werden, sind oftmals auch für das iPhone-optimierte Websites eine Alternative. So zeigt z.B. Google mit vorbildlichen mobilen Sites (z.B. Google Reader), das nicht für jeden Zweck eine native Apps nötig ist.

Außerdem können die mobilen Websites auch wie native Apps dem Homescreen hinzugefügt werden, wodurch die Integration weiter verbessert wird, da das zukünftige Eintippen der URL entfällt.

HTML, HTML5, JavaScript

Da Safari Mobile, der Browser auf dem iPhone, volle Unterstützung von HTML und JavaScript bietet, können mobile Websites erstellt werden. Als Linktipp hierzu möchte ich auf die umfangreiche Online-Vorabversion des Buchs Building iPhone Apps with HTML, CSS, and JavaScript von O’Reilly verweisen.

jQTouch

jQTouch ist ein Open Source Framework für Mobile Devices, das auf dem populären JavaScript-Framework jQuery basiert.

QTouch is a jQuery plugin with native animations, automatic navigation, and themes for mobile WebKit browsers like iPhone, G1, and Pre.

Durch die Vergabe von Klassen und IDs im HTML-Code werden die iPhone-typischen Elemente von jQTouch generiert.

Aktuell bietet jQTouch zwei verschiedene Themes, einmal das Standard-Apple-Aussehen und ein eigenes dunkles Design. Nette CSS3-Animationen erlauben Übergänge zwischen den einzelnen Screens.

Link: jQTouch
Link: code.google.com/p/jqtouch/

iWebKit

Das iWebKit ist wie jQTouch zur Erstellung von Websites im iPhone-Aussehen. Ich hatte es im Artikel iWebKit: Websites im iPhone-Look&Feel erstellen bereits vorgestellt.

iUI

Ein weiterer Kandidat neben jQTouch und iWebKit heißt iUI.

iUI is a framework consisting of a JavaScript library, CSS, and images for developing iPhone webapps.

Link: iUI

QuickConnect

QuickConnect is a powerful, modular, simple to use, application development library available for many languages and platforms. QuickConnect is currently available for: iPhone, Android & Mac JavaScript apps, Erlang/Yaws, and PHP.

Link: QuickConnect

Linksammlung

Hier einige Links und Quellen zum Thema.

Habt ihr weitere Frameworks oder SDks, die hier nicht genannt sind? Habt ihr Erfahrungswerte zu einem der genannten Möglichkeiten? Dann einfach einen Kommentar hinterlassen, würde mich sehr freuen.