PhoneGap: Unicode-Datei mit BOM schreiben

1365945975_gnome-mime-text-xmlHier mal ein kleiner Post für zwischendurch.

Der PhoneGap-FileWriter schreibt in der Regel UTF-8-Dateien raus, verzichtet aber auf eine vorangestellten BOM (Byte-Order-Marker). Das hat zur Folge, dass z.B. CSV-Dateien mit Umlauten in Excel nicht korrekt angezeigt werden.

writer.write("\uFEFF");

Dieses Snippet (vor dem eigentlichen Schreiben) löst das Problem. Happy Coding!

Datei-Dialog in Blackberry WebWorks nutzen

Leider gibt es im aktuellen SDK weiherhin keinen Dialog um Dateien zum Speichern und Lesen auszuwählen. Das Schreiben und Lesen selbst wird dabei komischerweise unterstützt. Da ich im Forum schon mehrfach angesprochen wurde, habe ich jetzt mal meine Lösung ins GitHub geschoben. Vielleicht kann ja mal jemand testen ob die Extension auch mit Blackberry 10 funktioniert (bisher nur auf Playbook getestet). Happy Coding!

Chrome: Web-SQL-Datenbanken administrieren

imageWenn man an Apps entwickelt, die mit Web-SQL funktionieren müssen, bleibt beim Testen oft nur Chrome. Firefox und IE unterstützen das Feature leider (noch) nicht.

Wenn man für Blackberry-Endgeräte entwickelt, bleibt sogar nur Chrome, weil der entsprechende Emulator als Extension kommt.

Um während der Entwicklung den Überblick über die Datenbanken zu behalten gibt es Lita. Das Tool kann die Chrome-Datenbank (und andere SQLite-Datenbanken) öffnen und editieren. Testdaten o.ä. anzulegen geht mit dem Tool wesentlich schneller als mit dem Chrome-Debugger.

P.S.: Die Datenbanken legt Chrome übrigens unter “C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\databases” ab.

TypeScript: Getting Started

imageWer meinen Blog die letzten Monate verfolgt hat weiß, dass mich momentan am meisten (neben meinem Studium Zwinkerndes Smiley ) JavaScript, HTML5 und CSS3 beschäftigen.

JavaScript ist eine Sprache wie Knetgummi. Das mag der eine, der andere nicht. Ich für meinen Teil bin durch Java, C# und andere objektorientierte Programmiersprachen vorbelastet und würde die entsprechenden Konzepte (z.B. Vererbung und Interfaces) auch gerne in JavaScript einsetzen. Leider sind die Ansätze dafür immer ein bisschen holprig (z.B. Vererbung durch eigene JavaScript-Methode abbilden, Interfaces durch eigene Prüfungen der Konsistenz, …).

Abhilfe soll TypeScript schaffen. TypeScript ist eine eigene Programmiersprache die als Kompilat JavaScript-Code ausspuckt. In TypeScript gibt es sauber Vererbung, Interfaces, Typisierung, Module/Packages also vieles was man in JavaScript schmerzlich vermisst. Zugegeben die Idee einen Aufsatz für JS zu produzieren ist nicht neu. Schon seit einiger Zeit geistert CoffeeScript durch die Community.

Continue reading