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!

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

Tipp: Intellisense auch über verschiedene JS-Dateien

Javascript - IntellisenseAch, du mein geliebtes Intellisense. Einst verliest du mich, wollte ich doch nur meine mobile Anwendung in mehrere JS-Dateien aufteilen.

Ist ja auch logisch, da ja das eine Script nichts mehr von dem anderen Script weiß. Um Intellisense einen Tipp zu geben, wo es lang geht, kann man ein solches Konstrukt in die erste Zeile der Datei einfügen.

/// <reference path="~/devbar/devbar.vsdoc.js" />

Jetzt funktioniert das Browsen durch die Methoden auch für Objekte, die in devbar.vsdoc.js definiert wurden.

Wie Ripple an den Nerven rippelt

rippleDas Entwickeln in JavaScript und HTML5 ist teilweise abenteuerlich. Wer im Blackberry-Land unterwegs ist, soll laut Community den Ripple Emulator benutzen. Leider kommt das Ding aus dem Alpha- und Beta-Stadium nicht richtig heraus und kann sich auch nicht recht entscheiden ob es jetzt Entwicklungsumgebung oder Debugger sein möchte.

Wie man mit einer kleinen Batch das Build & Deploy aus Visual Studio erledigen kann, zeig ich hier. Das klappt sogar für Blackberry Smartphone und Tablet  und besser als mit Ripple.

Continue reading