PhoneGap - Mobile-Apps auf sechs Plattformen

LogoPhoneGap ist ein HTML5-App-Framework das es ermöglicht Programme für sechs Mobile-Plattformen zu erstellen. Programme können für iPhone, HP webOS, Google Android, Windows Mobile, Symbian OS und BlackBerry entwickelt werden.

Die Programlogik wird dabei in JavaScript programmiert, die Oberflächen werden in HTML5 designt. PhoneGap stellt zur Ausführung der Programme auf allen Plattformen eine weitgehend einheitlichen API zur Verfügung. Über diese API ist der Zugriff auf native Funktionen des Handys möglich, dazugehören z.B. Neigungssensoren, Kamera, GPS, Kontaktdaten, Internet und vieles mehr.

Die eigentlichen Programme werden in einer Art Fullscreen-Browser ausgeführt. Dadurch sehen die meisten PhoneGap-Apps nicht aus wie mit dem SDK der Plattform nativ erstellte Apps. Allerdings sind PhoneGap Apps meist schneller erstellt und ohne Anpassung auch auf anderen Plattformen lauffähig. Zur Erstellung von Oberflächen können die bereits aus der Webentwicklung bekannten Javascriptframeworks wie jQuery oder MooTools verwendet werden. Es existieren auch einige spezielle Frameworks  wie  Sencha Touch oder jQuery Mobile die es ermöglichen ansprechende Touchscreen-Oberflächen in JavaScript zu erstellen.

PhoneGap kann unter www.phonegap.com heruntergeladen werden. Die API findet man unter docs.phonegap.com.

WebGL - 3D-Engines für den Browser

Seit kurzem ist die erste Spezifikation von WebGL verfügbar. Chrome wird bereits mit aktiviertem WebGL Feature ausgeliefert. Von Firefox und Opera existieren Beta-Versionen mit WebGL-Unterstützung, nur Microsofts IE unterstützt den Standard bisher noch nicht.

WebGL ermöglicht den Javascriptseitigen Zugriff auf die OpenGL-ES-Schnittstelle. Dadurch wird es möglich 3D Inhalte direkt im Browser darzustellen, ein Plugin wird dafür nicht benötigt. Bei WebGL handelt es sich nicht um eine 3D-Engine, vielmehr ist es eine Programmier-Schnittstelle. Es gibt bereits einige Implementierungen von 3D-Engines die einem Entwickler die Low-Level Arbeit abnehmen und so einen einfachere Verwendung ermöglichen. Nachfolgen eine Aufstellung der bekanntesten Engines:

Tabellen-Spalten-Namen unter SQLite auslesen

Das auslesen der Spalten einer SQLite-Tabelle ist leider nicht über SHOW COLUMS FROM möglich, allerdings kann man sie über das folgende PRAGMA-SQL-Statement auslesen:

PRAGMA table_info( tabellen_name )

Als Rückgabewert erhält man die cid, den Tabellenname, den Feldtype, null / not null ,  das  dflt_value und ob es sich um einen PrimaryKey handelt. 

Weitere Informationen zu PRAGMA findet man unter: www.sqlite.org/pragma.html

Ubuntu als Webserver einrichten

Einen Linux-Server einzurichten ist eine nicht zu einfache Aufgabe. Nachfolgend eine Aufstellung wie man ein Ubuntu 9.10 als Webserver konfiguriert. Ich schreibe dieses Tutorium da es unter Ubuntu nicht so einfach möglich ist ein Funktionierendes PHP mit PDO und SQLite zu installieren. Werden die einzelnen Module nur über apt-get installiert kommt es mit SQLite zu inkompatiblen Versionen , was man nur durch manuelles kompilieren und einige Anpassungen an den Makefiles wieder funktionsfähig bekommt. Wenn aber alles wie in diesem Tutorium beschrieben installiert wird ist das nicht notwendig. Anscheinend nimmt Tasksel einige Einstellungen bzw Konfigurationen vor die durch das manuelle apt-get nicht durchgeführt werden.

Blender 2.55 Beta

Blender ist in der Version 2.55 Beta erschienen. In dieser Version hat sich einiges verändert: So hat Blender endlich ein neues Benutzer-Interface bekommen welches auch auf mehreren Monitoren nutzbar ist. Des weiteren ist das neue Interface Einsteigerfreundlicher, da es nicht mehr so überladen ist, die früheren Versionen von Blender haben die meisten Einsteiger mit ihre riesigen Komplexität verschreckt. Das neue Interface ist ein großer Gewinn für Blender, da es dadurch zu den kommerziellen Produkten aufschließt.

In der neuen Blender Version ist Python bereits integriert so dass es nicht mehr manuell installiert werden muss. Die Beta-Version enthält bereits fast alle Features, lediglich auf einen Collada-Import muss verzichtet werden.

Blender kann unter www.blender.org heruntergeladen werden.

Auf ragersWeb werdet ihr in nächster Zeit noch einige Tutorials zu Blender finden.

LawnChain - KeyValue-Datenspeicherung für den Webbrowser

LawnChain ist eine Java-Script-Bibliothek mit der auf einfache weiße eine dauerhafte Speicherung von Daten im Client (Webbrowser) ermöglicht wird. Dazu greift die Bibliothek auf die in den meisten Browsern (nicht im IE) bereits integrierte Web-SQL Schnittstelle (SQLite) zurück. LawnChain ermöglicht dabei eine einheitliche Handhabung der Datenbank auf unterschiedlichen Browsern, wobei auch die meisten Mobilen Browser unterstützt (Android, IPhone, BlackBerry) werden.

Weitere Informationen unter: blog.westcoastlogic.com/lawnchair

Unity 3 Independent kostenlos

Unity 3D 3 ist in der Independent Version seit einiger Zeit kostenlos. Unity ist eine der am weitest entwickelten Game-Development-Suiten am Markt. Vor allem bei Independent-Entwicklern mit kleinen Teams hat Unity eine große Fangemeinde. Mit der kostenlosen Version ist es möglich Spiele für Windows MacOS und für das Web zu erstellen. Wer Spiele für IPad, IPhone, Android, PS3, WII oder X-Box 360 entwickeln will braucht kostenpflichtige Addons. Leider ist mit der kostenlosen Unity Edition nicht möglich Wasser-Sheader oder Echtzeitschatten zu verwenden. 

Einen Vergleich der unterschiedlichen Unity Versionen findet man unter: unity3d.com/unity/licenses

Weitere Informationen zu Unity 3D: unity3d.com

Construct

Construct ist ein 2D GameCreator für Windows, mit Construct ist es möglich beliebige 2D Spiele zu erstellen. Dabei setzt der GameCreator auf eine einfach zu bedienende Oberfläche, coding ist zum erstellen von einfachen spielen nicht notwendig. Wer dennoch eine kompliziertere Spiel-Logik umzusetzen hat kann diese in Python programmieren. Die Grafik der Spiele wird bei Construct über DirectX gerendert, was performante Spiele garantiert auch sind dadurch einige Pseudo 3D-Effekte möglich.

Construct ist OpenSource und  kann unter www.scirra.com heruntergeladen werden.

PHP Fat-Free Framework

Das Fat-Free Framework ist ein interessantes PHP Framework, der große Unterschied zu anderen Frameworks ist das es aus nur einer 55 Kb großen PHP-Datei besteht, so kann es sehr einfach eingebunden werden. Dabei braucht es sich vom Funktionsumfang nicht zu verstecken.  

Das Framework bietet folgende Features:

  • MVC 
  • Template-Engine
  • Form-Handler
  • Command-Line-Mode
  • SQL-Handler
  • ORM
  • Unit Testing

Des weiteren kann es durch Plugins erweitert werden. Leider steht es nur für nicht kommerzielle Nutzung unter der GPL v3. Weitere Informationen unter: fatfree.sourceforge.net

Google App Engine

Mit Google App Engine kann jeder von der gigantischen Server-Infrastruktur von Google profitieren. Mit einem kostenfreien Account stehen einem User 500 Mb zur Verfügung. Die von Google zur bereitgestellte Bandpreite und CPU-Laufzeit soll für über 5 Millionen Seitenabrufe genügen. Programmiert werden können die Apps momentan in Java und Python, es sollen aber bald weitere Sprachen folgen. Wer das freie zu Verfügung gestellte Volumen verbraucht hat kann bei Google zu günstigen Konditionen Speicherplatz, CPU- Laufzeit und Bandbreite nachkaufen.

Mit der Google App Engine ist es möglich gut skalierende Webanwendungen zu entwickeln.

Weitere Informationen findet man unter: https://appengine.google.com