Am Rande notiert ...

sattvik/neko. Auch mal vorgemerkt für später, Clojure für die Programmierung von Android Anwendungen mit ein paar Bindings für die Android APIs. Wobei da natürlich die Frage ist, ob die das Startup-Problem in den Griff bekommen haben, oder ob das immer noch den Einsatz von Clojure limitiert.

ActionBarSherlock – Home. For later use: damit kann man die ActionBar auch auf älteren Android Versionen im Code benutzen, es wird automatisch ein Backport benutzt wenn keine native ActionBar verfügbar ist.

Getting started · jberkel/android-plugin Wiki. Und hier das zentrale Element zur Scala-Programmierung für Android. Damit werden diverse sbt Befehle zur Verfügung gestellt, die sich um die Android-Integration und Delivery kümmern.

Android-Programmierung mit Scala. Etwas gestelzte Sprache, aber dafür brauchbarer Inhalt. Der Artikel gibt einen netten Überblick darüber, was man gewinnt wenn man Scala für die Android-Programmierung einsetzt. Ich muss mir das ganze auch noch mal genauer angucken, denn die Tipperei bei Java geht mir manchmal dann doch ein wenig auf den Keks. Ausserdem klingt ein Workflow aus sbt und normalem Editor deutlich schlanker als die diversen Java IDE Umgebungen. Und einige Sprachfeatures von Scala schreien geradezu danach im Android Umfeld eingesetzt zu werden (vor allem Traits).

OrmLite – Lightweight Object Relational Mapping ORM Java Package. Mal genauer angucken, ein ORM der auch in Android benutzbar ist. Die nackte Programmierung von SQLite mit SQLiteDatabaseHelper macht mir irgendwie nicht so richtig viel Spaß. Das ist mir dann doch etwas zu low-level.

Create a package for Android for Kivy. Ich glaub ich muss mir Kivy nochmal genauer angucken. Sie arbeiten jetzt mit Python for Android, einer eigenen Python-Distribution die einen angepassten Interpreter für Android mitbringt und eine Koppelung über Cython, NDK und JNI an die Android-SDK. Damit kann man also richtige APKs produzieren, die ganz normal auf den Devices installiert werden können – aber alles was die Anwendung selber ausmacht in Python schreiben. Bleibt natürlich die Frage wie schnell das dann läuft – Python wird ja nunmal interpretiert. Aber interessant für Tools wäre es allemal, zumal man Kivy Anwendungen auch mehr oder weniger direkt unter Desktopsystemen laufen lassen kann.

Custom Drawn Interface/Android – Lazarus wiki. Hah, es gibt auch für Freepascal und Lazarus (die FP IDE mit Delphi-Einschlag) einiges zur Programmierung von Android Apps. Ist alles wohl noch etwas wackelig und hackig, aber macht Fortschritte. Die Idee ist ganz witzig – eine minimale Java-App mit minimaler Activity und dann über JNI die Integration von Pascal Code. Die Idee ist dort wieder die LCL – also die GUI Library von Lazarus – weiternutzen zu können, so dass man systemübergreifend programmieren kann. Und man kann dann auch den eingebauten GUI Builder benutzen.

Basic4android Basic for Android – Rapid Application Development. Heh, nett, eine Art Visual Basic für Android. Leider nur für Windows. Schade.

Android – Processing. Oh, das ist interessant. Die neueste Processing 2.0 Alpha können auch direkt Android unterstützen – und zwar richtig simpel, einfach eine Processing App schreiben, umstellen auf Android und mit „Run on device“ das ganze aufs Device bringen und dort starten. So für die typischen kleinen Hacks klingt das richtig interessant, besonders wenn man mit Grafik rumspielen will (das ist ja der Fokus von Processing).

necessitas / Home / necessitas. Hmm, klingt ganz interessant – eine QT Version für Android inklusive einer IDE zur Programmierung von Apps. Vielleicht guck ich mir das dann auch mal an, wenn mein Nexus da ist.

Lumiya Viewer – About Lumiya. Sehr nett – ein grafischer SL und OpenSim Client für Android. Das muss ich dann doch in ein paar Tagen unbedingt mal ausprobieren. Bei iOS kenn ich ja immer noch nur Pocket MV, aber das kann eben kein grafisches Rendering der Umgebung sondern nur Karten, Chat und son Zeug.

Epistle – Android Apps auf Google Play. Und noch ein Markdown-Editor für Android, der hier ist weniger Wiki als mehr einfacher Markdown Editor, aber trotzdem ganz interessant – kommt auch gleich mit Dropbox Unterstützung.

JWBs blog: Ema Personal Wiki for Android and Windows. Weil ich gerade bei Markdown war – hier gibts ein Markdown-nutzendes persönliches Wiki für verschiedene Systeme, unter anderem Android. Der Beschreibung nach ist das ganze recht ähnlich zu Vim Wiki.

[New App] Impressive: AIDE Is An IDE That Lets You Write And Compile Android Apps On Your Android Device, Begs For The Yo Dawg Treatment. Android-Entwicklung auf Android-Geräten (vorzugsweise Tablets). Das ist ja sowas von meta.

PySide for Android thp.io. Das klingt doch schon mal sehr interessant – damit hätte ich dann eine mir deutlich genehmere Programmiersprache zur Verfügung, um Android-Programme zu bauen. Wobei die Startzeit von in Python geschriebenen Activities warscheinlich alleine schon auf Grund der Ladezeiten des Python-Stacks und der Qt Libraries ein bischen heftiger sein könnten. Aber um mal einfach ein paar kleine Tools zum Eigengebrauch zu bauen sollte das egal sein.

Samsung Galaxy S Phones Ice Cream Sandwich Update. Tja, HTC hat für eine Reihe Geräte das gleiche schon mit Gingerbread gemacht – nur weil deren bescheuerte Overlaygeschichte  nicht zusammen mit dem neuen System auf der älteren Hardware (und wir reden hier nicht von wirklich alter Hardware – das sind Geräte die ein Jahr alt sind und in der Regel noch in Vertragsbindung mit dem Provider!) laufen, gibt’s einfach kein neues Betriebssystem. Weil diese alberne Overlaygeschichte ist ja viel wichtiger als aktuelle Systemreleases. Und nicht nur die Benutzer werden verarscht – auch die Entwickler, denn dadurch, dass diese Geräte eben nicht wirklich alt sind, haben die dann eine schöne Wildwuchslandschaft an Systemen vor sich. Und die User müssen irgendwann zwangsweise rooten und Cyanogenmod oder ähnliches installieren, wenn sie nicht mit alten (und ja leider oft doch recht buggy) Systemreleases leben wollen. Die Freiheiten, die Google den Geräteherstellern einräumt, sind das größte Problem der Android-Welt. Größer als jede Patentdrohkulisse die Apple aufbauen kann. Die wirklichen Gegner von Googles Android-Vision sind weder Microsoft noch Apple, sondern die Gerätehersteller und Provider. Denn die sind mental noch in den 90ern und stellen ihre eigene Kontrolle über alles.

How to speed up the Android Emulator by up to 400%, Nuxeo Developers Blog. Mal geblogmarkt, denn wir werden wohl demnächst etwas mit Apps rumspielen und der Android Simulator ist grottenlahm – damit zu testen macht fast keinen Sinn, da man gerade bei Phonegap Anwendungen das Browserrendering mit Papier und Bleistift und Radiergummi überholen könnte, so langsam ist der Bildaufbau. Mit der Lösung hier hat man zwar keinen exakten Test eines Android-Gerätes, aber zumindestens für die ersten Feeling-Tests sollte es ausreichend sein, da es gerade bei Phonegap eher darauf ankommt, dass die Rendering-Engine die gleiche ist als darauf, dass die CPU die gleiche ist.

Groklaw – A Brief Explanation of Microsofts Anti-Google Patent FUD ~ by pj. Da das ganze Patentgesumse rund um Android schon etwas undurchsichtig ist, find ich es gut wenn sich Sites wie Groklaw dazu äußern: „Again, Google is pointing to the main issue, not that Microsoft and its satellite helpers are meanies, but that what they are doing is *illegal*. They are attacking the open source community, with patents as the weapon and not just as individual companies but as an artificial group designed to „strangle“ Android. And if you look at the mobile litigation going on as we speak, ask yourself: who is suing and who is being sued? Does it look coordinated to you?“

Get Started Guide « PhoneGap. Nur mal geblogmarkt, weil ich das garantiert später nochmal brauche, wenn ich mit Phonegap und Android rumspiele. Ziemlich  holperig, wäre doch schon nett, wenn Phonegap einfach ein fertiges Projekttemplate mitliefern würde. Aber nunja, es geht jedenfalls – mein Hello World taucht auf. Auf dem Simulator. Und ich muss kein fieses Java dafür anpacken, sondern nur fieses JavaScript.

HTC Desire wont be getting an official Gingerbread update. Ja klar, Android ist ja so toll, deshalb versauen Gerätehersteller es mit ihren unnützen Erweiterungen und liefern Geräte mit zu wenig Ausstattung aus, so dass neue Systemreleases draußen bleiben. Wenn ich wirklich auf Android mal umsteige, dann wohl nur auf eines, das direkt von Google versorgt wird, dann brauche ich mir wenigstens nicht so einen Murks wie Sense antun (oder mich durch dessen Zwangsinstallation von neuen Systemreleases blockieren lassen). Ja, ich weiss, ich kann rooten und rommen – aber das ist für mich genauso ein Nicht-Argument wie Jailbreak bei iOS Geräten.

clj-android. Und wenn ich schon dabei bin, auch gleich ein Framework für Clojure und Android. Ist allerdings alles scheinbar noch etwas roh (braucht zum Beispiel einen Fork von Clojure um ein paar Probleme mit Dalvik zu umgehen). Und nur zum Rumspielen mit Clojure für unterwegs ist vielleicht die Clojure REPL interessant.

scalaforandroid – Scala for Android. Und der Vollständigkeit halber auch ein Projekt zur Erstellung von Android-Anwendungen mit Scala. Scala braucht zwar auch eine große eigene Runtime-Library, aber in scalaforandroid wird ein Treeshaker (Proguard) eingesetzt, der bei der Paketerstellung nur die benutzten Klassen der Library überträgt und so das Volumen klein hält.

mirah/pindah – GitHub. Mirah ist eine Sprache, die von Ruby inspiriert ist, aber weiterhin mit statischen Typen arbeitet und daher näher am Java-Level von der Performance her liegt. Type-Inference nimmt den Typen aber die Schmerzen, weil man sich die Deklarationen oft sparen kann. Codemakros bieten darüber hinaus auch noch interessante Ansätze für interne DSLs. Pindah ist ein Framework und Toolset um mit Mirah Android-Applikationen zu schreiben. Mirah bietet gegenüber JRuby den Vorteil, dass keine eigene Runtime und keine dynamische Interpretation hinzukommt – die Anwendungen dürften also wesentlich näher an Java-Anwendungen von der Performance liegen.

Ruboto: Ruby on Android. Ein kleiner Artikel beim IBM Developernetwork mit einer kleinen Beispielanwendung in Ruby für Android. Ruboto hat im Moment noch das Problem von recht hohen Startzeiten für die Anwendungen und recht großer Applikationsgröße, da das ganze JRuby mit ausgeliefert wird.

Ruboto ist ein Framework und eine App für Android-Geräte. Mit dem Framework kann man Android-Apps in Ruby schreiben (auf Basis von JRuby, das allerdings im Gegensatz zu JPython tatsächlich mit dem normalen Ruby nicht nur mithalten kann, sondern bei der Performance durchaus auch mal vorne liegt) und mit der App kann man direkt in Ruby interaktiv auf dem Android-Gerät scripten. Vielleicht mal ein Grund mein Ruby-Foo zu entstauben …

AndTidWiki | mgBlog. Noch zur Ergänzung meiner TiddlyWiki Links, es gibt natürlich auch eine App für Android, mit der man TiddlyWiki auf Telefonen und Tablets laufen lassen kann. Basiert auf dem gleichen mobilen Plugin wie die iOS Version (logisch, da beide Plattformen ja WebKit als Kern einsetzen).

dyoo/moby-scheme. Noch eine interessante Sache für Android: ein PLT Scheme (also Racket) Dialekt und eine passende Toolchain um aus Racket Advanced Student Language + World Primitives (ASL ist ein schon recht weit gehender Scheme-Dialekt in Racket und die World Primitives sind für reaktives Programmieren in Scheme) erstellte Anwendungen in JavaScript laufen zu lassen und diese dann zu Androit-Anwendungen zu bündeln. Also Programmierung von Android-Handys in einem reaktiven Scheme-Dialekt. Oder noch kürzer: Klammern für Android.

Pygame Subset for Android. Huch – es gibt ein PyGame subset für Android. Nutzung ist etwas hakelig, weil es keine IDE gibt – man muss die Files auf der SD Karte (hmm – ein Nexus S hat keine SD Karte, wo landet das dort?) ablegen und anderweitig editieren.

android-scripting – Scripting Layer for Android brings scripting languages to Android.. Interessantes Projekt mit dem man diverse Scriptsprachen auf Android-Telefonen laufen lassen kann. Unterstützung für Shell, Python, Perl, Ruby, Lua, TCL und JavaScript sind schon dabei. Für mich ist natürlich besonders Python interessant. Vor allem weil die API von Android verfügbar gemacht wird – man kann also direkt mit den Sachen interaktiv oder gescripted rumspielen.