Service2Max - Die neue Service-Dimension

Tutorial: ExtJS 3.x einrichten

Erstellt von Patrick Matsumura am 12.12.2009

| Keine Kommentare

Update: Dieses Tutorial funktioniert mit allen Versionen von ExtJS 3.x.

ExtJS ist ein in Javascript programmiertes Ajax-Framework, das zum Erzeugen von “echten” Webanwendungen verwendet werden kann. Es bietet nette Features wie Windows, Grids, schöne MessageBoxes und vieles mehr an. In diesem Artikel möchte ich zeigen, wie einfach das Framework zu installieren und zu nutzen ist.

Vorbereitungen

Damit eine erste kleine “Hallo Welt” Applikation mit ExtJS geschrieben werden kann, sind einige Voraussetzungen zu erfüllen. Zunächst muss die ExtJS Bibliothek heruntergeladen und in ein Verzeichnis entpackt werden. Ich schlage eine Verzeichnisstruktur wie auf dem Bild vor:
ExtJS Projekt: Ordnerstruktur
Ausserdem empfehle ich dringend Firebug. Ein Webentwickler sollte heutzutage ohne Firebug Plugin nicht mehr arbeiten. Es erleichtert das Finden von Fehlern, das direkte Anpassen von CSS und HTML und das Analysieren vom Datenverkehr zwischen Server und Browser. Jetzt wird noch ein Webserver zum Hosten und ein FTP-Zugang zum Speichern der HTML-Dateien benötigt.

Aufbau der HTML Seite

Ich gehe ab hier davon aus, dass grundlegende HTML-Kenntnisse  vorhanden sind. Damit ExtJS überhaupt funktionieren kann, braucht man natürlich eine HTML-Seite, die das Framework lädt. Nachfolgend ein kleines Grundgerüst, das ExtJS nutzbar macht.

<html>

    <head>
        <link rel="stylesheet" type="text/css" href="/js/ext-3.0.3/resources/css/ext-all.css"/>
        <link rel="stylesheet" type="text/css" href="/js/ext-3.0.3/resources/css/xtheme-blue.css" />
        <script src="/js/ext-3.0.3/adapter/ext/ext-base.js" type="text/javascript"></script>
        <script src="/js/ext-3.0.3/ext-all-debug.js" type="text/javascript"></script>
        <title>Tutorial: ExtJS HTMl-Grundgerüst</title>
    </head>

    <body>
        Willkommen beim ExtJS Tutorial: Wie richtet man ExtJS 3.0 ein.
    </body>

</html>

Zunächst müssen wir die CSS-Dateien laden, damit die ExtJS-Elemente auch so aussehen, wie sie sollen. Ich habe mich für das blaue Theme entschieden und daher mit

<link rel="stylesheet" type="text/css" href="/js/ext-3.0.3/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="/js/ext-3.0.3/resources/css/xtheme-blue.css" />

erst das “Grund-CSS” geladen und danach aufbauend das XTheme-Blue geladen. Evtl. werde ich ein Tutorial verfassen, wie man seine eigenen Themes erstellt und in ExtJS einbindet.

Die Zeilen

<script src="/js/ext-3.0.3/adapter/ext/ext-base.js" type="text/javascript"></script>
<script src="/js/ext-3.0.3/ext-all-debug.js" type="text/javascript"></script>

laden zunächst den ExtJS Basisadapter und danach die gesamte ExtJS Bibliothek in der Debugversion. Während der Entwicklung sollte die Debugversion verwendet werden, da sie in Firebug (oder jeder anderen Javascriptkonsole) “schönere” Fehlermeldungen anzeigt. Sobald das Projekt in einer Produktivumgebung laufen soll, ist es ratsam ext-all.js zu verwenden.  Diese Version ist kompakter und enthält nur sehr stark verkürzte Fehlermeldungen. Ausserdem wurden die Variablennamen häufig auf einen Buchstaben verkürzt und unnötige Zeichen wie Leerzeichen entfernt. Diesen Vorgang des “Komprimierens” nennt man auch minifying. Es verringert die Ladezeit erheblich und die Geschwindigkeit beim Ausführen von ExtJS wird um einiges höher. Eine weitere Optimierung bringt es, die Daten mit Gzip zu übertragen.

Nachdem das HTML-Grundgerüst steht und es auf einen Webserver gespeichert wurde, wird die Seite aufgerufen. Ich habe sie in das Rootverzeichnis (oberhalb vom js-Verzeichnis) als index.html gespeichert. Wenn in Firebug unter dem Reiter “Netzwerk” das Resultat in etwa so aussieht, wie auf dem Screenshot, dann ist ExtJS installiert und bereit genutzt zu werden.

Initialisierung ExtJS

Damit das versprochene “Hallo Welt”-Fenster im Browser erscheint, werde ich den body-Bereich der Webseite etwas erweitern. Und zwar so:

<script type="text/javascript">
Ext.onReady(function () {
    Ext.MessageBox.show({
        title: 'Willkommen zu ExtJS',
        msg: 'Hallo Welt!',
        buttons: Ext.MessageBox.OK,
        minWidth: 250,
        modal: false
    });
});
</script>

Das Ergebnis diese kleinen Code-Schnipsels sieht dann so aus:
Hallo Welt Messagebox

Was dieser Code genau macht, werde ich in einem weiteren Tutorial erläutern, da dieses hier ausschliesslich dem Einrichten von ExtJS gewidmet ist.

Verbesserungsvorschläge, Kritik oder Lob bitte als Kommentar hinterlassen. Um immer auf dem Laufenden zu bleiben, einfach kostenlos und unverbindlich den RSS-Feed abbonieren. Danke für die Mithilfe,

Patrick

Wie man Usability mit dem eigenen Logo verbessert

Erstellt von Patrick Matsumura am 11.11.2009

| Keine Kommentare

Ein Logo, das nicht auf die Startseite verlinkt empfinden die meisten Benutzer als störend. Dabei wäre es für einen Webdesigner doch extrem einfach und schnell  umzusetzen. User klicken mittlerweile intuitiv auf das (Firmen)Logo, das im besten Fall oben links platziert ist, um so wieder an den Anfang zu gelangen. Man kann behaupten, dass er es fast schon so erwartet.

Der Trend zu den „Home“ oder „Start“ Schaltflächen schwindet, weil ein Besucher der Webseite einfach das Logo klickt. Zumindest versuchet er es. Umso enttäuschter fühlt er sich (meist unbewusst), wenn es nicht funktioniert hat. Und sind wir ehrlich: besonders schön oder hilfreich sind die beiden erwähnten Navigationspunkte auch nicht.

Mein Rat an alle Webmaster: Verlinkt eure Logos mit der Startseite und helft eurem User. Er wird euch die verbesserte Usability danken und sich auf euren Seiten wohler fühlen, da er eine erwartete Funktion nutzen kann.

Partnerschaft mit zuhause.li

Erstellt von Patrick Matsumura am 07.11.2009

| Keine Kommentare

Ab sofort sind Service2Max und www.zuhause.li Partner im Bereich Webdevelopment. Wir freuen uns auf die kommende Zusammenarbeit. Auf dass sie erfolgreich sein wird und beide Parteien davon profitieren.

Blog in neuem Design

Erstellt von Patrick Matsumura am 07.11.2009

| Keine Kommentare

Ich freue mich unseren Blog in neuem Design präsentieren zu dürfen. Anregungen, Lob oder Kritik sind herzlich willkommen und erwünscht. Einfach das Kommentarsystem nutzen.

Danke für die Aufmerksamkeit,
Patrick

Sortierbare Liste mit Drag & Drop in Ajax

Erstellt von Patrick Matsumura am 20.11.2008

| 52 Kommentare

In diesem Tutorial möchte ich erklären, wie man mit script.aculo.us und dem Javascript Framework Prototype eine sortierbare Liste mit Drag & Drop-Funktionalität aufbaut. Der Clou an der Sache ist, dass die Liste sich ihren Zustand dauerhaft merken wird. Damit das einwandfrei funktioniert, ist es notwendig die Informationen zu speichern. Als Datenspeicher dient eine MySQL Datenbank.
Mehr lesen…

Wiederherstellen von falschem Spam aus der Quarantäne mit AMaVis

Erstellt von Patrick Matsumura am 29.08.2008

| Keine Kommentare

Es kann immer vorkommen, dass eine Email zu Unrecht als Spam definiert wurde. Sollte dies der Fall sein, dann kann man mit dem Befehl amavisd-release die Email aus der Quarantäne befreien und sie in die normale Queue einschleusen. Dabei wird AMaVis die Email nicht mehr bewerten und nicht mehr als Spam erkennen.
Mehr lesen…

Flugzeugunglück in Ramstein vor genau 20 Jahren

Erstellt von Patrick Matsumura am 28.08.2008

| 4 Kommentare

Ich möchte mit diesem Blogeintrag der Opfer vom 28.08.1988, die damals wegen Leichtsinn ums Leben gekommen sind, gedenken. Mögen sie in Frieden ruhen. Auch werde ich nicht besonders viel dazu schreiben, sondern auf andere Webseiten verweisen, die sich weitaus mehr mit dem Thema beschäftigen.

Hier noch ein Video von YouTube:
Spielt das Video nur ab, wenn ihr das auch wirklich verkraftet (in eurem eigenen Interesse)

Weitere Links zum Thema:

Ich möchte hiermit nochmals mein herzlichstes Beileid an alle Angehörigen aussprechen.

Patrick

IP Adressen in Postfix blockieren – Spamschutz

Erstellt von Patrick Matsumura am 22.08.2008

| Keine Kommentare

Trotz recht gut eingerichtetem Spamschutz kann es immer wieder vorkommen, dass ein Spammer “erfolgreich” ist. Zumindest kommt er bis zu Amavis und Spamassassin. Dabei nutzt er immer dieselbe IP, die nicht in DNSBLs gelistet ist. Will man nun verhindern, dass dieser Spammer überhaupt soweit kommt, dann kann man dem mit recht einfachen Mitteln entgegenwirken.
Mehr lesen…