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.