Frage

Ajax, Flex und Silverlight sind ein paar Möglichkeiten, um mehr interaktive web-Anwendungen.Welche Faktoren würden Sie Bedenken, dass Sie bei der Entscheidung für eine neue Webanwendung?

Hat jeder von Ihnen bieten eine bessere cross-Plattform-Kompatibilität, Leistung, Entwickler-tools oder die Unterstützung der Gemeinschaft?

War es hilfreich?

Lösung

Hier ist eine kurze Zusammenfassung der einzelnen Bereiche (mit vielen nützlichen links):

Cross-Plattform-Kompatibilität

Ajax arbeitet in jeder moderne browser ausgeführt werden kann JavaScript.Flex erfordert Flash-oder irgendetwas anderes, dass kann Griff SWFs aber, wenn das einmal installiert, es ist ein insgesamt freeride soweit Kompatibilität.Silverlight ist knifflige und missverstanden so sorgfältig überlegen, Ihre userbase bevor wir mit diesem MS Ausflug in die rich-web-Anwendungen Wettrüsten.Beachten Sie auch, dass Silverlight ist noch in der Beta, also kann es mehr weit verbreitet, und installiert in die Zukunft, wie es entwickelt wird.

Leistung

Ich bin besorgt, zu viele Aussagen über Leistung, da es hängt wirklich davon ab, wie viel Sie bereit sind zu optimieren und die genaue Art Ihrer Anwendung.Auch einige Technologie-stacks sind nur nie sehr schnell. Einige der Leute heraus dort wurden Vergleiche, aber wieder, es hängt von sehr vielen Faktoren (auch die version des Browsers, mit dem Sie testen!).Es ist wahrscheinlich die beste Wahl ist, basierend auf anderen Faktoren und zu optimieren, nachdem Sie begonnen haben, sich zu entwickeln.

Entwickler-tools

Es sind der "golden standard" dev-tools für jeden der drei:

  • Ajax hat im Grunde unbegrenzte Möglichkeiten, je nach den rest Ihrer Technologie-und Architektur-Entscheidungen.Die großen Fragen sind Sie tatsächlich konfrontiert sind, die Bibliotheken, auf die Sie sich stützen, und Google hat geäußert, ein ziemlich gut angenommen Antwort mit Dingen wie Web-Toolkit.Wenn Sie rechts unten, um es, es ist nur XML und JavaScript, richtig?

  • Flex ist von Adobe und-genau wie bei der Flash-Entwicklung, solltest du besser stick mit Ihre homegrown tools da-nun-Sie machen die standards, wie Sie entlang gehen.

  • Microsoft positioniert Microsoft Expression Blend, Version 2.0 und 2.5, die zur Entwicklung der Benutzeroberfläche des Silverlight 1.0 und 2-Anwendungen beziehungsweise.Visual Studio 2008 verwendet werden können, zu entwickeln und Debuggen von Silverlight-Anwendungen (aus Wikipedia).

Community-support

Es gibt sowohl offizielle und inoffizielle community -, Firmen -, und open-source-Unterstützung für alle drei Optionen.Je nachdem, was Sie sind bereits integriert und die macht Sie fühlen sich am meisten zu Hause sind sehr individuelle Dinge, aber ich werde bieten diesen Rat:stick mit, was Sie wissen.Wenn Sie ein MS-Entwickler und haben MSDN-Ihre Startseite sind, sind Sie wahrscheinlich gehen zu denken, die Silverlight-Dokumentation und Foren sind wirklich hilfreich.Flex hat eine sehr ähnliche Geschichte;die Foren sind ziemlich gut, und wenn Sie ein Flash person schon, du wirst gleich zu Hause mit Ihre Dokumentation und - Benutzer-community.

Auf der anderen Seite, die Ajax ist im Grunde alle über dem Platz, weil Sie implementieren können so viele verschiedene Möglichkeiten und so viele weit-abwechslungsreiche Bibliotheken.Jede Bibliothek kann eigene Foren zu besuchen und mailing-Listen zu lauern in für die Antworten.

Wieder einmal, alle drei haben Konzerne versuchen, zu fördern, Ihre Gemeinschaften und um die bestmögliche Hilfe für die Entwickler geben Ihnen eine größere Markt teilen in die Zukunft.

Andere Tipps

Die Wahl sollte meiner Meinung nach meist basierend auf der Art der Anwendung werden Sie Gebäude (zum Beispiel, wenn Sie brauchen, um zu manipulieren, vector graphics, Ajax ist ziemlich viel aus), aber hier sind einige Allgemeine Richtlinien:

Ubiquity

  1. Ajax-Unterstützt von allen modernen Browsern über Plattformen hinweg
  2. Flex -- Runtime (Flash Player) ist sehr breit installierte Basis, die für Windows, Mac OS, Linux.Linux-version war ein bisschen buggy das Letzte mal habe ich geprüft, obwohl
  3. Silverlight -- Laufzeit hat ganz geringe installierte Basis (und keine Linux-Unterstützung) im moment

Wahl der Programmiersprache

(Unordeded, weil der Subjektivität, aber beachten Sie, dass Silverlight bietet die größte Auswahl.Beachten Sie auch, dass die bestehende Sprache Erfahrung von Entwicklern in Ihrem team sind, sollten berücksichtigt werden.)

  • Silverlight:Alle .NET Sprache (C#, Visual Basic, IronPython(?), IronRuby(?)) (und XAML-UI-definition)
  • Ajax:JavaScript (und XHTML für die UI-definition)
  • Flex:ActionScript 3 (und MXML für die Benutzeroberfläche definition)

API-Stabilität und Kompatibilität

  1. Flex - -- - Laufzeit ist das gleiche auf allen Plattformen und Browsern, mehr Reife und stabile in dem moment, als Silverlight
  2. Silverlight -- Runtime ist die gleiche auf allen Plattformen und Browsern, weniger ausgereift als die Flex/Flash, v2.0 noch in der beta
  3. Ajax-Kompatibilität Probleme in allen Browsern (möglicherweise gemildert werden über Ajax-Bibliotheken, obwohl)

Web - /Browser-Integration

  1. Ajax-Inhalte native innen-browser auf der Grundlage der Normen:durchsuchbar browser-und Suchmaschinen-crawler, vorbehaltlich einer standard-UI-Praktiken den browser und das Betriebssystem eingerichtet haben
  2. Flex und Silverlight -- Inhalt nicht nativen browser (d.h.läuft in seiner eigenen kleinen "Sandkasten/Rechteck"):nicht unbedingt Gegenstand etablierte UI-übungen für die Plattform

Entwickler-Tools

  1. Ajax-Ihr Lieblings-code-editor, browser-und debugging toolkit für den browser
  2. Flex -- Flex-SDK ist verfügbar für Windows, Mac OS und Linux ist kostenlos und kann verwendet werden mit Ihre Lieblings-code-editor.Ein Kommandozeilen-debugger ist enthalten, die von Adobe bereitgestellte profiler ist nur in der kommerziellen Flex Builder-IDE
  3. Silverlight -- AFAIK, Das SDK ist verfügbar für Windows kostenlos und kann verwendet werden mit Ihre Lieblings .NET development tools

Die web-runtimes wie Flex und Silverlight alle bieten verlockende Dinge, aber kommen mit zwei großen Kosten:

  • Sie laufen nur in einem Rechteck auf der Seite, und nicht zu interagieren mit normalen web-widgets
  • Sie sind nur für Menschen, die das plug-in installiert ist

Auch die fast allgegenwärtigen Flash ist nicht installiert auf jedem web-browser, so dass durch Auswahl eines plug-in-Laufzeit, Sie sind ohne ein Teil von Ihr Publikum.

Im Gegensatz dazu JavaScript (oder Ajax) steht auf so ziemlich jeden browser, und interagiert besser mit normalen web-Seiten, aber ein primitiver und Beschränkung Sprache.Verwenden Sie für komplexe Animationen kann schwierig sein, und Sie müssen testen Sie Ihre Anwendungen in mehr Versionen über mehrere Plattformen, um sicherzustellen, dass es funktioniert.

Cross-Plattform-Kompatibilität ist nicht das Problem es zu sein, also das Problem ist dieses: Werden Sie gewinnen mehr in die Funktionen des plug-in-Bibliothek, als Sie verlieren, in der man sich als Zuschauer ausschließen?

Meine eigene Antwort hat bisher immer gewesen, JavaScript/Ajax, aber ich würde neu zu bewerten, die in jedes neue Projekt.

Was ist dein Publikum:öffentliche Website oder ein intranet-business-app?Die akzeptanzraten sind nicht relevant, wenn Sie eine kontrollierte Publikum, das installiert was man braucht, um führen Sie Ihre app aus.Jedoch, wenn Sie brauchen die größte mögliche Publikum, um Ihre web-startup-Erfolg, dann kann es kritisch.

Was ist dein Ziel?Bauen etwas für die niedrigsten Kosten?Lernen neue Technologie?

Können Sie Ihre vorhandene Fähigkeiten?Wenn Sie bereits wissen,.NET dann Silverlight bekommt einen Schub.Lernen Flex kann interessant und nützlich sein, aber es ist mehr nützlich für Sie, mehr als Erfahrung mit .NET-Technologien?Denken Sie an die Opportunitätskosten lernen etwas völlig neues.

Ich sehe nicht, eine klare Technologie-Gewinner an dieser Stelle, und wahrscheinlich gibt es nicht eine für eine lange Zeit, so dass die Wahl wird nach unten kommen, um ziemlich subjektive Faktoren.

Andere als das, was bereits hier erwähnt, eine andere große Sache zu betrachten ist, was Ihre Benutzeroberfläche sein wird.

Wenn Sie gehen, um verwenden eine Menge von erweiterte UI-Steuerelemente wie Bäume, Listen, Register-Bedienelemente, etc, dann sollten Sie Folgendes beachten:

  • JavaScript/HTML - Keine native Unterstützung für alles, was darüber hinaus Dinge, die basic-Dropdown-Felder, Schaltflächen und Textfeldern.Wenn Sie wollen etwas, das wie ein Baum-Steuerelement oder tab control-dann haben Sie Rollen Sie Ihre eigenen oder finden Sie eine Drittanbieter-Bibliothek.

  • Adobe ActionScript - Native Unterstützung für eine Breite Palette von fortschrittlichen UI-Steuerelemente

  • Silverlight 1.0 hatte nur sehr begrenzt UI-Steuerelemente, aber 2.0 werden hinzufügen viel mehr, und ich bin sicher, wir werden auch weiterhin, um zu sehen, Steuerelemente Hinzugefügt in Zukunft Versionen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top