Wir haben vor einigen Wochen mit den ersten pas2js Tests innerhalb von Lazarus angefangen und das Konzept, das TMS
auf Basis der gleichen Engine umsetzt, wird sicherlich für Delphi Programmierer einen erheblichen Mehrwert bringen.
Wer zukünftig erwartet, sein Delphi Programm auf Basis von einer umfangreichen Komponentensammlung, wie die bei TMS
WebCore dabei sein wird, zusammen zu klicken und trotzdem seine Events im Pascalsprache zu schreiben, der wird mit
dem Produkt von TMS sicherlich eine sehr gute Plattform haben, um die Mobile devices mit Android und iOS oder jedem
ernstzunehmenden Browser, daher auch mac und linux mit seiner Software zu beglücken. Die Verteilung erfolgt dann
komplett ohne Appstores, was ja vieles vereinfacht.
Ein Teil der units wird er dann auch bei entsprechendem Aufbau bzw Compilerschaltern gemeinsam benutzen können, sowohl in der
Delphi
IDE mit Target
win32/win64, aber eben über den Pas2js crosscompiler auch dort. Durch eine Manifest Deklaration
kann man dann auch vergleichsweise einfach dem Mobilgerät/Browser mitteilen, welche Dateien (js, css etc) lokal vorgehalten
werden müssen, um mit der Webapp dann auch remote ohne Internetverbindung arbeiten zu können.
Einige der Mitglieder in diesem Forum haben sicherlich schon mal mit Unigui gearbeitet oder experimentiert, aber da
kommt man ohne aktive Onlineverbindung nicht weiter.
Ob der Aufbau von Anwendungen auf Basis von
VCL ähnlichen Komponenten der beste Weg ist, liegt im Auge des Betrachters.
Ich hatte bisher noch keine Zugriff auf eine funktionierende TMS WebCore Umgebung, weiß aber schon auf Grund von diversen
Meetings mit Michael und Matthias (im Prinzip die Kernentwickler des pas2js Crosscompilers), das Bruno, Roman und das TMS
Team da wirklich nicht zu früh eine Version öffentlich anbieten sollten. Die Aufgabe ist aufgrund der TMS Qualitätsansprüche
nicht zu unterschätzen und eine halbfertige Version ist aus Basis der Anspruchshaltung vieler Delphi Entwickler ein No Go.
Technisch übersetzt der Pas2js Compiler übrigens einfach eure Pascal Sprachkonstrukte und funktional gleichen und lesbaren
Javascript Code. Basiselemente wie Schleifen, Variablendeklarationen etc. sind da schon deutlich komplexer als man denkt,
weil in Javascript halt vieles anders ist. Trotzdem hat das Pas2js Team da schon sehr große Teile realisiert, aber eben
noch nicht alles. Die meisten Elemente werden ähnlich wie bei jedem Compiler aus Bibliotheken zusammengeholt und im
gewünschten finale Format zusammengebaut. Die Anzahl der Bibliotheken, die TMS da veröffentlichen wird, ist immens und das
braucht halt Zeit und Akribie, um das vorausschauend so aufzubauen, das man nicht alles dauernd wieder neu schreiben muss.
Wer seinen Pascal Code dann mal compiliert als Javascript sieht, wird schnell sehen, das da sehr viel Know How dahinter
steht und man sicherlich das fertige Javascript nicht wirklich auf Anhieb versteht, muss man
beim Hex Code einer Exe ja auch nicht.
Wer Lust und Zeit hat und entweder das
www.blaisepascalmagazine.eu schon abonniert hat oder das vielleicht abonnieren
möchte (einfach email an
editor@blaisepascal.eu senden, Detlef Overbeek kann euch da ggf. auch ein Sonderangebot machen
oder ein Schnupperabo), der wird in der letzten Ausgabe 67 ab Seite 73 2 Artikel zu den Basics (u.a. mit Bootstrap) und
einem konkreten Beispiel finden, das unser Mitarbeiter Miguel auf Basis von Lazarus erstellt hat. Es geht da um eine
simple offline fähige Zeiterfassung (u.a. jQuery).
Technisch wird man auch so mit Hilfe der TMS WebCore Integration in Delphi arbeiten können und dort halt auf Grund der
Komponenten auch das Konzept der
RAD Entwicklung, wie man es in Delphi gewöhnt ist, umsetzen können.
Wenn der die Komponenten mal nicht ausreichend und man sehr wichtige APIs direkt anbinden will, dann sei noch vermerkt,
das der pas2js compiler auch
asm anweisungen kann, die z.B. so aussehen können
Code:
procedure TTimeForm HideDlgDelete . ; assembler;
asm
( $ '#dlgDelete' 'hide' ). ( ); modal
end;
mit anderen Worten: geht nicht gibts nicht, das wird sicherlich genau so in der TMS Variante gehen.
Wer sich wegen des blaisepascalmagazins noch nicht entscheiden kann, der darf nach Rücksprache mit Detlef die
Ausgabe 67 auch ausnahmsweise hier schon herunterladen.
http://ibexpert.com/bpm/Blaise_67_UK_Total.pdf
Bitte den Link aber hier für
DP Praxis Mitglieder behalten und nicht veröffentlichen. Detlef finanziert das Magazin
und die Autorenbeiträge in erster Linie über Abo gebühren und jeder, der sich berufen fühlt, darf ihn auch gerne
als Autor kontaktieren. In den nächsten Ausgaben werden die Schwerpunkte ganz sicher auf pas2js mit Lazarus und sobald
verfügbar und Beiträge geschrieben wurden auch TMS WebCore liegen. Der gesamte Komplex ist vergleichsweise
erklärungsbedürftig und wir werden sicherlich einige offene Schulungen auf Lazarus Basis dazu im Laufe des Jahres
anbieten.
Ich denke mal das in den nächsten Wochen dann auch TMS die erste echte Trial für die Delphi Integration
veröffentlichen wird, da wird uns aber Roman sicherlich hier auf dem Stand der Dinge halten können.