eXma » Diskutieren » Computer und Technik
Startseite - Veranstaltungen - Mitglieder - Suche
Vollständige Version anzeigen: Extjs ... oder
No Name
Ja einige unter euch werden dieses Framework sicher kennen aber einige sicher auch net. Deswegen möcht ich denjenigen die es nicht kennen das neue Aussehen des Web vorstellen. Seit kurzem arbeite ich damit und bin vollends begeistert. Nie wieder werde ich was anderes programmieren wollen. Die Vorteile sind immens.

Der perfekte "VIEW" für den MVC für Webapplikationen. Guckt euch die Beispiele an und staunt.

Alle Beispiele:

http://extjs.com/

Ausgewählte Beispiele:

http://extjs.com/deploy/dev/examples/desktop/desktop.html
http://extjs.com/deploy/dev/examples/tree/column-tree.html
http://extjs.com/deploy/dev/examples/layout/complex.html
http://extjs.com/deploy/dev/examples/form/xml-form.html
http://extjs.com/deploy/dev/examples/window/hello.html


Also was haltet ihr davon? Sieht doch gut aus, oder?
Chris
Ich persönlich versteh nicht, warum ein Browser die Fähigkeiten eines Betriebssystems emulieren muss. Man könnte "theoretisch" auch einfach die bestehenden Möglichkeiten nutzen. Würde effizienter laufen, aber wen interessiert den heutzutage noch Effizienz?
abadd0n
Erinnert mich an http://eyeos.org/

#a
loco
Zitat(Chris @ 14 Jan 2008, 18:51)
Ich persönlich versteh nicht, warum ein Browser die Fähigkeiten eines Betriebssystems emulieren muss.

ein blick in die zukunft und in anlehnung an abas erinnerung (das gleiche viel mir auch ein^^) könnte man ja mutmaßen, dass es mal eine zeit geben wird ohne "rechner" zu hause, sondern nur ein terminal mit inetzugang..
sodass man quasi seinen ganzen desktop mit allem pipapo online hat, so könnte man auf seinen persönlichen rechner immer und überall zugreifen..
oder man nimmt sich speziell die notebooknutzer vor, dann brauchen diese nicht mehr solche leistungsstarken endgeräte und haben dadurch evtl. kleinere, mit längeren laufzeiten versehene notebooks mit, die nur im netz surfen können..
optional wären diese evtl. sogar noch billiger als heute und das 100$ notebook wäre für jeden machbar..

chris, es gibt soviel was man sich damit ausmalen kann, dass gerade du das nicht machst/machen willst finde ich schade

kehrseite:
-server werden zu leistungsmonstern
-datenschützer freuen sich
-konsolennerds auch (gibt ja dann mehr noobs im netz wink.gif )

so das waren paar cent von mir.. shifty.gif
Chris
Leider brauchen wir die Betriebssystemeigenschaften, die hier emuliert werden, immer noch für den Browser. Weiterhin halte ich persönlich JavaScript für ressourcenhungriger als z.B. eine schlichte Java-Anwendung. Weiterhin ist so eine JavaScript-Anwendung im Browser auch nicht gerade plattformunabhängig. Man denke nur daran, wieviel Aufwand nötig ist, dass eine Website auf Windows und Mac und Linux genauso aussieht und sich verhält.

Ich habe nichts gegen eine Verteilung der Anwendungen über das Internet. So etwas zu machen ist Gang und Gebe. Doch meiner Meinung nach muss das nicht über den Browser laufen. Man kann auch von anderen Anwendungen super Webservices nutzen (Beispiel DVB-Applet). Deswegen finde ich, dass es schöne wäre eine abstrahierte Funktionsbibliothek zu schaffen, mit der man genau diese Eigenschaften von Betriebssystemen nutzen kann, bzw. die Betriebssysteme soweit aufzubohren, dass man in beliebigen Fenstern Webseiten anzeigen kann (ähnlich Inline-PDF im Browser).

Der Trend geht durchaus aber in die Richtung mehr in den Browser zu integrieren. Hat aber auch scheinbar entscheidende Vorteile. Zum einen bietet der Browser eine zeitbasierte Navigationsstruktur - ein Betriebssystem ist da mehr zustandslos - zum anderen läuft die Evolution bei Browsern deutlich schneller, als bei kommerziell entwickelten Betriebssystemen. Entscheidende Verbindungen zum OS-Toolkit würden 5 Jahre brauchen, bis sie in Windows integriert wären. Deswegen ist dieser Weg, so leichtgewichtig er auch sein mag, für den Homeanwender nicht gangbar. Auf Kleinstgeräten, wie Settopboxen oder ähnlichem wird so eine Strategie schon des längeren gefahren, aber diese sind weitestgehend Monokulturen.
No Name
Zitat(Chris @ 15 Jan 2008, 09:03)
Leider brauchen wir die Betriebssystemeigenschaften, die hier emuliert werden, immer noch für den Browser. Weiterhin halte ich persönlich JavaScript für ressourcenhungriger als z.B. eine schlichte Java-Anwendung. Weiterhin ist so eine JavaScript-Anwendung im Browser auch nicht gerade plattformunabhängig. Man denke nur daran, wieviel Aufwand nötig ist, dass eine Website auf Windows und Mac und Linux genauso aussieht und sich verhält.

Ich habe nichts gegen eine Verteilung der Anwendungen über das Internet. So etwas zu machen ist Gang und Gebe. Doch meiner Meinung nach muss das nicht über den Browser laufen. Man kann auch von anderen Anwendungen super Webservices nutzen (Beispiel DVB-Applet). Deswegen finde ich, dass es schöne wäre eine abstrahierte Funktionsbibliothek zu schaffen, mit der man genau diese Eigenschaften von Betriebssystemen nutzen kann, bzw. die Betriebssysteme soweit aufzubohren, dass man in beliebigen Fenstern Webseiten anzeigen kann (ähnlich Inline-PDF im Browser).

Der Trend geht durchaus aber in die Richtung mehr in den Browser zu integrieren. Hat aber auch scheinbar entscheidende Vorteile. Zum einen bietet der Browser eine zeitbasierte Navigationsstruktur - ein Betriebssystem ist da mehr zustandslos - zum anderen läuft die Evolution bei Browsern deutlich schneller, als bei kommerziell entwickelten Betriebssystemen. Entscheidende Verbindungen zum OS-Toolkit würden 5 Jahre brauchen, bis sie in Windows integriert wären. Deswegen ist dieser Weg, so leichtgewichtig er auch sein mag, für den Homeanwender nicht gangbar. Auf Kleinstgeräten, wie Settopboxen oder ähnlichem wird so eine Strategie schon des längeren gefahren, aber diese sind weitestgehend Monokulturen.
*


Chris, guck dir doch mal noch die anderen Beispiele an. Das ganze hat absolut nichts mit Betriebssystememulierung zu tun. Javascript macht keine Resourcenvergabe, kein virtueller Speicher, interrupting ... . Es geht hier rein ums Aussehen, nur der VIEW. Es sieht aus wie eine Dekstopanwendung und es verhält sich so aber mit Betriebssystememulierung hats nix zu tun.

Exjs ist Platformunabhängig. Das ist ja grad das geniale daran. Ich programmiere das einmal in ein paar Zeilen mit dem framework und es läuft auf allen browsern bis i.e. 6.0. Du kannst dir nicht vorstellen ("oder vielleicht doch") wieviel Zeit man damit verbringt sein Projekt per Fuß auf allen browsern gleich zu machen. Das kostet einen innem Halbjahres projekt mehrere Wochen.

Vorteile:
+ Nahezu objektorientierter VIEW, mit Adobe Air ... sogar als Standaloneapplikation
+ Auf den gängigsten Browsern gleiches Aussehen
+ Weniger Code, Übersichtlicherer Code, leicht erweiterbar
+ Rich Application Gui`s
+ von über all auf der Welt drauf zugreifen ohne ein Programm installieren zu müssen (in Verbindung mit VPN, ideal für Firmen um auf Kundenverwaltungen zuzuzugreifen etc.)
+ build in Ajax
+ im JSON format, dadurch sehr wenig Traffic
+ https natürlich auch möglich (sicherheitsproblem geklärt)
+ Serverseitig werden nur noch Daten verarbeitet. Der Server kümmert sich nicht um generierung von LAYOUT(html,......), die Server werden dadurch enorm entlastet. Es verlagert sich alles mehr und mehr auf den Clienten
+ (der absolut wichtigste Punkt für Webapplikationen) Extrem Lose Kopplung, nahezu keine Abhängigkeiten mehr von GUI und Controller (php,asp,jsp,coldfusion,.......), Controller kann leicht gegen jeden anderen Controller ausgetauscht werden.

Nachteile:
- Abhängig vom Internet bzw. einem Netzwerk oder einem lokalen Controller (server)
- Javascript muss an sein,
- Browser wird sehr beansprucht, speichermäßig und prozessormäßig, nicht gerade ressourcenschonend, aber für die browser der nächsten Generation sicher kein problem mehr
- Stabilität
- wirkliche echtzeit durch polling schwierig

Naja was kann man als Fazit sagen. Es werden mehr und mehr Daten zentral gespeichert werden. Die Browser werden besser und einheitlicher werden (wahrscheinlich bis hin zu 3D unterstützung). Applikationen werden mehr und mehr aufs Web verlagert.

Wenn ihr wollt machsch euch später mal nen kleines Beispiel hier rein welches Extjs (view), php(controller) und Propel(Model) benutzt damit ihr sehen könnt wie einfach das is und wie fix das alles geht. Wer sich mit Webapplikation auskennt wird mit Sicherheit begeistert sein.
Chris
Zitat(No Name @ 15 Jan 2008, 20:36)
Chris, guck dir doch mal noch die anderen Beispiele an. Das ganze hat absolut nichts mit Betriebssystememulierung zu tun. Javascript macht keine Resourcenvergabe, kein virtueller Speicher, interrupting ... . Es geht hier rein ums Aussehen, nur der VIEW. Es sieht aus wie eine Dekstopanwendung und es verhält sich so aber mit Betriebssystememulierung hats nix zu tun.

Exjs ist Platformunabhängig. Das ist ja grad das geniale daran. Ich programmiere das einmal in ein paar Zeilen mit dem framework und es läuft auf allen browsern bis i.e. 6.0. Du kannst dir nicht vorstellen ("oder vielleicht doch") wieviel Zeit man damit verbringt sein Projekt per Fuß auf allen browsern gleich zu machen. Das kostet einen innem Halbjahres projekt mehrere Wochen.
*


Ich kenn mich da durchaus aus. Und ich meine es so, wie ich es sage. Ein Betriebssystem hat schon die ganzen Fähigkeiten um Fenster zu managen (anzeigen, vergrößern, verkleinern, minimieren ...) und genau das wird über das JavaScript emuliert.

Und du sagst es schon selbst, dass es eben nichts mit Ressourcenvergabe zu tun hat, und das das Problem. Es wird nämlich nur die globale Ressourcenzuweisung für den Browser verwendet, und dadurch kann es auf nicht so starken Rechnern zu Problemen kommen. Vor allem, wenn man dann auch noch viele Javascript-Anwendungen läufen lässt.

Und ja, es ist schön, wenn es viel Arbeit abnimmt, wahre Plattformabhängigkeit erreicht man damit trotzdem noch nicht, das hat auch Java nicht geschafft.

Ich möchte hier auch noch drauf Hinweisen, dass Modularität und MVC keine Erfindung von ExtJS oder Ajax sind wink.gif
No Name
Zitat(Chris @ 15 Jan 2008, 21:08)
Ich kenn mich da durchaus aus. Und ich meine es so, wie ich es sage. Ein Betriebssystem hat schon die ganzen Fähigkeiten um Fenster zu managen (anzeigen, vergrößern, verkleinern, minimieren ...) und genau das wird über das JavaScript emuliert.

Und du sagst es schon selbst, dass es eben nichts mit Ressourcenvergabe zu tun hat, und das das Problem. Es wird nämlich nur die globale Ressourcenzuweisung für den Browser verwendet, und dadurch kann es auf nicht so starken Rechnern zu Problemen kommen. Vor allem, wenn man dann auch noch viele Javascript-Anwendungen läufen lässt.

Und ja, es ist schön, wenn es viel Arbeit abnimmt, wahre Plattformabhängigkeit erreicht man damit trotzdem noch nicht, das hat auch Java nicht geschafft.

Ich möchte hier auch noch drauf Hinweisen, dass Modularität und MVC keine Erfindung von ExtJS oder Ajax sind wink.gif
*


Absolut zustimm. Gerade das Problem mit den Browsern. Ja die GUI wird emuliert, aber nicht das was ein Betriebssystem eigentlich macht.

Du meinst wohl wahre Plattformunabhänigkeit? Naja es geht ja nicht darum zu sehen ob es komplett Plattformunabhängig ist sondern die Schritte die vorher nötig waren das im entferntesten hinzubekommen und die Schritte die jetzt notwendig sind. Dies forum hier zum Beispiel könnte man jetzt in kürzester Zeit mit voller oder weit mehr funktionalität mit ner Rich Gui nachbauen. Hochgerechnet würde vielleicht die Hälfte des Codes benötigt werden.

Klar gibs MVC schon sehr lange und is keine Erfindung von Exjs und Ajax, das habsch auch net behauptet. Nur war eben die Trennung der einzelnen Komponenten bis jetzt immer ein Rriesenproblem von Webseiten bzw. Webanwendungen.

Ich hab jetzt nen halbes Jahr ein Ajaxprojekt programmiert und das ohne Extjs und es ist wirklich sehr zeitaufwendig gewesen mit Javascript die ganze Gui zu bauen und auf allen Browsern gleich aussehen zu lassen. Es ging mehr Zeit drauf das hinzubekommen als irgendwelche Funktionalität einzubauen und das kanns ja nun echt net sein. Deswegen bin ich so absolut begeistert von Extjs, weils mir eben genau noch das gibt was mir für nen nahezu perfekten MVC fehlte.

[GUI]->JSON(oder XML)<-[Server]->ORM<-[Datenbank]
EnjoyTheChris
Ich finde, die Diskussion verliert langsam etwas den Fokus. Timmey hat doch nie behauptet, dass extjs die Lösung all unserer Webanwendungsprobleme wäre. Sicherlich ist es etwas prohpetisch und vermutlich auch zu euphorisch zu sagen, dasses die generelle Zukunft des Netzes sein wird; aber der Weg liegt doch klar auf der Hand und ist jetzt schon zu beobachten.

Immer mehr klassiche Anwendungen werden zu Webanwendung, ganz einfach weil damit viele neue Konzepte und Ideen und natürlich auch Vorteile verwirklich werden können.

Ich sitze gerade selber an einer relativ umfangreichen Webanwendung und man muss sich bei der Oberflächenentwicklung relativ früh die Frage stellen, in welche Richtung es gehen soll:

In die Richtung einer dynamischen Webseite, bei der der Webseitencharakter immer noch klar erkennbar ist (und demzufolge die Benutzer auf die Idee kommen könnten mit Vor/Zurück-Navigation und Favoriten des Browsers zu arbeiten), oder aber in die Richtung einer Anwendung die sich nahe an Betriebssysteme anlehnt. Dann erwartet der Anwender aber halt auch Komfortfunktionen wie Kontextmenüs, kontext-sensitive Hilfe, etc...

Für letzten Anwendungszweckund nur für den, es spricht ja keiner davon ein Widget als Desktopanwendung laufen zu lassen, sieht extjs nicht nur schick und auch sehr mächtig aus. Ich kannte es auch noch nicht. Vielleicht sollte erwähnt werden, dass es unter einer OSS-Lizenz erhältlich, als auch kommerziell lizenziert werden kann. Sieht wirklich alles ganz gut aus; was mich stören würde, ist, dass es SVN-Zugriff nur gegen Bares gibt. Damit wäre natürlich auch die Frage, wie schnell die Entwickler auf Sicherheitsprobleme reagieren (was bei einer so komplexen Bibliothek sicherlich ein Thema ist).

@chris
Dein Vergleich zwischen JavaScript und Java hinkt an allen Ecken und Enden. JavaScript bzw. JS-basierte Browseranwendungen sind doch gar nicht als Konkurrenz zu Java gedacht. Das wäre eher eine Richtung, die jetzt Microsoft mit Silverlight vorgibt, denn dort kann man auch C# nutzen. Ein Performancevergleich auf Basis der Ressourcenvergabe ist gewagt; du willst nicht ernsthaft eine vollständig interpretierte Sprache mit einer kompilierten vergleichen, oder? Das Argument der Ressourcenzuweisung kann man ja mit Techniken wie Adobe AIR oder dem Mozilla-Pendant Prism schnell entkräften.

Fazit: Danke für den Link smile.gif

C'ya,

Christian
Chris
Der Trend geht nun aber leider stark in die Richtung, dass Webanwendungen über JavaScript realisiert werden. Gefällt mir persönlich nicht. Aber ja, ExtJS scheint dafür ein gutes Werkzeug zu sein.
tingel
Nur so ein paar Gedanken, die mir beim Lesen gekommen sind:
- Chris spricht ständig von "Betriebssystem", dabei haben Fenster genau genommen nichts mit dem Betriebssystem zu tun; Fenster sind Teil eines GUI Toolkits (gut, bei Mac OS X und Windows gibt es die jeweils in nur einer Geschmacksrichtung, woanders ist das aber nicht so)

- generell sind Toolkits fürs Web, die wie in einer echten GUI Widgets zur Verfügung stellen eine gute Sache (in meinem großen Beleg habe ich mich da noch zu Fuß rumquälen müssen)

- den Desktop ins Netz zu verlagern ist ein vollendeter Datenschutz GAU