Selektoren in jQuery

Gestern habe ich mich ein wenig mit jQuery beschäftigt. Dazu erst einmal ein kleineres Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script src="jquery.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){    
            $("a#hide").click(function(){
                $("#valuesInit").animate({ height: 'hide', opacity: 'hide' }, 'slow');
            })
    });
    </script>

  <title>jQuery Test</title>
</head>
<body>
  <div id="valuesInit" style="background-color:#ADADAD">
  <p><b>Initialwerte</b></p>
  Lorem Ipsum dolor sit amet...
  </div>

  <p><a href="#" id="hide">Verstecken</a></p>
</body>
</html>

In diesem Beispiel wird eine div Box mit der ID valuesInit und der Klasse divbox angelegt. Oben wird für den Link mit der ID hide eine Klickfunktion definiert. Diese Klickfunktion sucht dabei das Element mit der ID valuesInit und lässt es verschwinden. Nun gibt es verschiedene Möglichkeiten etwa zu selektieren:

  • nach Element
$("div").animate({ height: 'hide', opacity: 'hide' }, 'slow');
  • nach ID
$("#valuesInit").animate({ height: 'hide', opacity: 'hide' }, 'slow');
  • nach Klasse
$(".divbox").animate({ height: 'hide', opacity: 'hide' }, 'slow');

Weitere Informationen gibt es unter:
http://docs.jquery.com/Main_Page
http://www.very-clever.com/jquery-tutorial.php
http://www.andreas-schlapsi.at/2008/10/10/jquery-dom-elemente-auswahlen/

High Level WebGL API

Wer auf der Suche nach einer High Level API für WebGL ist, der sollte sich einmal PhiloGL anschauen. Dieses Framework welches Open Source (MIT Lizenz) ist kann dabei unter http://senchalabs.github.com/philogl/ bezogen werden. Ein kurze Einführung in das Framwork gibt der Entwickler in seinem Blog unter http://www.sencha.com/blog/introducing-philogl-a-webgl-javascript-library-from-sencha-labs/.

Weitere Informationen gibt es unter:
http://www.golem.de/1102/81627.html

Mapbender unter Ubuntu installieren und einrichten

Bei Mapbender (zu finden unter http://www.mapbender.org) handelt es sich um ein Web-Framework für GIS Belange. Das ganze Framework kann man auch unter Ubuntu installieren. Im ersten Schritt müssen dazu einige Pakete installiert werden. Dies geschieht mittels:

sudo apt-get install apache2 php5 postgresql php5-pgsql 

Nachdem alle Pakete installiert sind, sollte die aktuelle Version von Mapbender heruntergeladen und entpackt werden. Anschließend sollte für Mapbender ein eigener Nutzer (mittels adduser mapbender) namens mapbender angelegt werden. Bevor wir dann mittels su mapbender uns in den Kontext des Nutzers begeben, kopieren wir die entpackten Dateien in sein Homeverzeichnis.

Dem Nutzer postgre muss nun noch ein Passwort zugewiesen werden. Dies geschieht mittels:

sudo sudo -u postgres psql 

Daraufhin öffnet sich die Postgres Konsole in welcher man mittels \password postgres das Passwort setzen kann. Nun sollte die Daten im Homeordner des Mapbender Ordners die passenen Rechte bekommen:

find /home/mapbender/ -type d -exec chmod 777 {} +
find /home/mapbender/ -type f -exec chmod 777 {} + 

Nun wird die Datenbank installiert. Dazu wird das Skript install2.6.sh welches unter /home/mapbender/resources/db/ zu finden ist ausgeführt. Das Skript stellt dabei einige Fragen wie zum Beispiel nach dem Namen der Datenbank, Webservernenutzer (www-data) etc.

Im nächsten Schritt wird die Datei /etc/apache2/httpd.conf mit einem Editor geöffnet. Dort kommt dann folgendes in die Datei:

Alias /mapbender /home/mapbender/http

 <Directory /home/mapbender/http>
 Options MultiViews
 DirectoryIndex index.php
 Order allow,deny
 Allow from all
 </Directory>

Nachdem das geschafft ist muss die Konfigurationsdatei von Mapbender angepasst werden. Diese befindet sich im Ordner /home/mapbender/conf und trägt den Namen mapbender.conf. Dort trägt man die Datenbankkonfiguration sowie die Login URL ein. Nun startet man noch den Apache mittels /etc/init.d/apache2 restart neu. Danach sollte Mapbender funktionieren. Wenn nicht hilft es das Error Logging in der php.ini zu aktivieren um so den Fehlern auf die Spur zu kommen.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Mapbender
http://www.mapbender.org/Installation

jQuery

Auf der Such nach einer ordentlichen Javascript Bibliothek bin ich auf jQuery gestoßen. Dabei bietet jQuery die üblichen Funktionen wie DOM Manipulation, Browserabstraktion sowie zahlreiche AJAX Funktionalitäten. Auch Dokumentation ist reichlich vorhanden, wie man unter http://docs.jquery.com/Tutorials#Tutorials_auf_Deutsch sehen kann. Die offizielle Seite der Bibliothek ist unter http://jquery.com/ zu finden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/JQuery

Was bietet Android?

Eigentlich wollte ich nur mal nachschauen welche Dateiformate Android von sich aus unterstützt bin dann aber über das hübsche Architektur Diagramm von Android gestolpert.

Da lag es nah nicht nur sich die Dateiformate anzuschauen sondern den Kreis etwas größer zu ziehen. Also für Anwendungsentwickler sehr interessant ist das durchdachte und modulare Applikationsframework von Android.

So werden Bibliotheken für 2D und 3D (basierend auf OpenGL ES), Sqlite zum speichern von strukturierten Daten, Webkit und noch einige andere Bibliotheken mitgeliefert. Die Einstiegshürde ist im Gegensatz zu anderen Mobilplattformen fast nicht vorhanden. Man kann eigentlich sofort loslegen. Alle Anwendungen die der Entwickler schreibt sind Java Anwendungen welche allerdings nur auf der Android eigenen Dalvik VM laufen.

Bei der VM handelt es sich um eine Registermaschine (im Gegensatz zu einer Stapelmaschine). Das hat den Vorteil das der Bytecode wesentlich performanter ausgeführt wird.

Doch nun zu den unterstützen Medientypen. Auf der Audioseite unterstützt Android ACC, AMR, MP3, MIDI, OTA, Ogg Vorbis und PCM. Bei den Bildformaten kommt Android mit GIF, PNG, JPEG und BMP klar wobei es JPEG auch schreiben kann. Da hätte man ruhig auch noch eine Schreibunterstützung für PNG Bilder mit einbauen können.

An Videoformaten gibt es H.263, H.264 und MPEG4 SP wobei die beiden erstgenannt vom Framwork auch encodiert werden können.

Eine Besonderheit in diesem Zusammenhang ist das G1 von T-Mobile. Es unterstützt neben den genannten Formate noch die WMA und WMV Formate aus dem Hause Microsoft.

Weitere Informationen gibt es unter:
http://developer.android.com/guide/basics/what-is-android.html
http://developer.android.com/guide/appendix/media-formats.html