URL: https://www.overclockers.at/coding-stuff/ruby_on_rails_143983/page_1 - zur Vollversion wechseln!
Jeder der sich momentan mit Webdevelopment (mehr oder weniger) beschäftigt sollte sich definitiv Ruby on Rails ansehen.
Vorallem der AJAX (async. javascript and xml) support (via "Prototype") ist abartig simpel. [3]
intros:
[1] http://www.onlamp.com/pub/a/onlamp/...1/20/rails.html
[2] http://www.onlamp.com/pub/a/onlamp/...3/03/rails.html
[3] http://www.onlamp.com/pub/a/onlamp/...rails_ajax.html
Offizielle Homepage: http://www.rubyonrails.org/
Hmmm das Demo hier: http://blog.curthibbs.us/articles/2...1/ajax-on-rails funzt bei mir mit Opera 8 nicht :/
Und was machen Personen, deren Browser kein JavaScript unterstützt/deaktiviert ist? :/
Ruby rockt allgemein sehr stark. Hoffentlich wird es sich in naher Zukunft staerker verbreiten
Die Minimierung der Roundtrips zum Server sind definitiv auf dem Vormarsch. Idialerweise gibts fuer Browser ohne JS immer ein Fallback, was aber nicht in allen Umgebungen noetig ist. Den richtigen Mehrwert seh' ich eher in Backend-Applikationen die immer einen eingeschraenkten Benutzerkreis (Admins, Redakteure, whatever) haben, deren Browseranforderungen definierbar sind.
Ich finde nur, dass der Trend, HTML fuer immer mehr GUI Applikationen zu verwenden, lieb & nett ist, aber oft, vor allem X-Browser Kompatibilitaet, der Aufwand, das noetige QA und die Elemente neu Erfinden weil sie nicht existieren, irgendwie unwirtschaftlich ist. IMHO. Multiple file selection? Gibts nicht. Nur mit ActiveX IE oder FF Extension. Combobox? Ohne Neuentwicklung in JS nicht vorhanden, selbst dann ist die Useability mit echten Comboboxen schwer zu erreichen, dann wieder das X-Browser Problem. Slider Balken? Oja, Safari als proprieaeteres Tag, andere Browser nicht, maximal FF mit XBL, wieder ein ActiveX fuer IE hmm. Oder einfach nur scrollable listen, trees? Aehem. Die meisten Anforderungen erfuellt XUL, doch auch hier ist die Entwicklung so rasend, die Dokumentation teils beduerftig und schnell wieder inaktuell.
Dann kommt dazu, dass (vor allem IE), bei intensiverer Manipulierung des DOMs ziemlich ins schludern kommt. Man bekommt dann noch mehr das Gefuehl, Beta-Tester zu sein :-(
Ich bekomme das Gefuehl das im Jahr '05 keine fertigen, ausgereiften Werkzeuge fuer Webentwickler existeren, die ansprechend UI Elemente bieten, um die einfachsten Dinge zu bewerkstelligen, die fuer normale User eigentlich selbstverstaendlich sind. Im kommerziellen Bereich sicher moeglich .. aber ...
Gibts da auch ein Einstiegs Tutorial auf Deutsch ?
auf deutsch bisweilen nichts gefunden, aber diese hier sind recht einfach
http://poignantguide.net/ruby/
http://www.whytheluckystiff.net/ruby/pickaxe/
ja absolut korrektZitat von RektalIch bekomme das Gefuehl das im Jahr '05 keine fertigen, ausgereiften Werkzeuge fuer Webentwickler existeren, die ansprechend UI Elemente bieten, um die einfachsten Dinge zu bewerkstelligen, die fuer normale User eigentlich selbstverstaendlich sind. Im kommerziellen Bereich sicher moeglich .. aber ...
Ich weiss nicht, bin der Meinung man sollte ohne viel JS schnickschnack auskommen... Obwohl ich bis jetzt leider kaum Zeit gefunden hab mich ins Ruby on Rails einzulesen.
Frameworks are bad.
Ein Framework ist für einen bestimmten Zweck designed, und solange man in diesem Definierten Rahmen bleibt, ist die Nutzung produktiv.
Verlässt man diesen Rahmen aber (und das ist bei jeder ernsthaften Applikation der Fall), dann wird die Sache unübersichtlich, umständlich und kostet am Ende mehr Zeit als ohne Framework.
Bei Rails ist dieser Ansatz extrem - Es ist schon fast alles vorgegeben, Transparenz kaum vorhanden.
Ajax: nix neues unter einem neuen Namen und es hyped. Die Anwendungsfälle sind eingeschränkt dadurch dass zwecks kompatibilität noch immer roundtrips möglich sein müssen.
ich kenne rails nicht, allerdings gibt es genügend objektorientierte wege die ein "verlassen des frameworks" problemlos und übersichtlich ermöglichen. ich behaupte mal das ruby, als smalltalk ähnliche sprache, das ohne weiteres kann.ZitatVerlässt man diesen Rahmen aber (und das ist bei jeder ernsthaften Applikation der Fall), dann wird die Sache unübersichtlich, umständlich und kostet am Ende mehr Zeit als ohne Framework.
Klar kannst du das Framework "verlassen", nur wird es eben an diesem Punkt unübersichtlich.
Zur Definition: Ein Framework ist für mich ein Scope in dem meine Applikation laufen muss. Sobald dieser Scope zu eingeschränkt ist, oder man 2 Frameworks verwenden will ... uff
Da halte ich vom Utility-Ansatz (Applikation verwendet funktionalitäten) mehr.
Dass die Begriffe öfters vermischt werden, ist mir bewusst.
edit: genau da bin ich anderer meinung: ein Framework muss eine bestimmte Aufgabe erfüllen ... und ich denke genau da liegt der Grund warum die meisten unbrauchbar sind - die anforderung liegt bei "soll alles vereinfachen", und das ist nunmal etwas unrealistisch.
nein, ich hab gesagt, dass man ein framework gekonnt verlassen.. vorausgesetzt es ist gut strukturiert und man beherrscht es
2 unterschiedliche frameworks können für mich nur in 2 applikationen gesteckt werden.. alles andere ist für mich ein fehler in der konzeptionierungsphase.
unterhalb eines frameworks befindet sich bei mir der "Library-Ansatz" , das sind libraries für einen speziellen gebrauch (zB ZLib, jpeg, usw.) die (ich) gerne in das framework verstaut werden.
btw: es gibt eine sehr gute begriffserklärung inklusiver vieler tipps in Gammas "Design Patterns" (http://www.amazon.com/exec/obidos/t...5066971-2303802)
Weil du Design Patterns ansprichst: genau dort sehe ich den Knackpunkt: Das Framework implementiert den einen oder anderen Design Pattern, trifft für dich Annahmen was dein Design angeht.
Brauchst du jetzt eine abweichende Implementierung, müsste dir das Framework die entsprechenden Schnittstellen liefern. Dass es das nicht 100%ig kann, versteht sich von selbst. Zumindest habe ich noch kein Framework benutzen dürfen, an dessen Grenzen ich nicht gestoßen bin, und dann viel Zeit verschwenden musste, das vorgehabte im Rahmen des Frameworks umständlich umzusetzen. Vermutlich verstehen wir aber auch etwas anderes unter "verlassen".
Am beispiel des MVC-Patterns: Framework X implementiert dir Controller und Stellt dir ein Templatesystem für deine View zur Verfügung. Bei deinem Model lässt es dir alle Freiheiten. Sobald du jetzt z.B. ein abweichendes Verhalten im Controller brauchst, bist du auf programmatische schnittstellen oder configurationsoptionen des Frameworks angewiesen. Allein dadurch reduziert sich die Brauchbarkeit von Frameworks für größere Apps schnell gegen 0, weil du es nicht mehr schaffst deine gesamte App im Rahmen des Frameworks zu entwickeln, was wiederum die Homogenität und damit die Wartbarkeit negativ beeinflusst.
Und im Grunde wolltest du garnicht aus dem Framework "aussteigen" - weil du die von ihm gebotenen Features weiter nutzen willst, sondern lediglich Funktion X anders haben.
Von ins Framework verwursteten Libs halte ich noch weniger. Wenn ich eine Framework-Abstraction brauche, ist die Lib schlecht, von mir aus ein Wrapper für die Lib, aber nicht integriert, da hast du wieder das Problem wenn du eine andere Lib verwenden willst.
Zitat von creAlictWeil du Design Patterns ansprichst: genau dort sehe ich den Knackpunkt: Das Framework implementiert den einen oder anderen Design Pattern, trifft für dich Annahmen was dein Design angeht.
ZitatBrauchst du jetzt eine abweichende Implementierung, müsste dir das Framework die entsprechenden Schnittstellen liefern. Dass es das nicht 100%ig kann, versteht sich von selbst. Zumindest habe ich noch kein Framework benutzen dürfen, an dessen Grenzen ich nicht gestoßen bin, und dann viel Zeit verschwenden musste, das vorgehabte im Rahmen des Frameworks umständlich umzusetzen. Vermutlich verstehen wir aber auch etwas anderes unter "verlassen".
ZitatAm beispiel des MVC-Patterns: Framework X implementiert dir Controller und Stellt dir ein Templatesystem für deine View zur Verfügung. Bei deinem Model lässt es dir alle Freiheiten. Sobald du jetzt z.B. ein abweichendes Verhalten im Controller brauchst, bist du auf programmatische schnittstellen oder configurationsoptionen des Frameworks angewiesen. Allein dadurch reduziert sich die Brauchbarkeit von Frameworks für größere Apps schnell gegen 0, weil du es nicht mehr schaffst deine gesamte App im Rahmen des Frameworks zu entwickeln, was wiederum die Homogenität und damit die Wartbarkeit negativ beeinflusst.
Und im Grunde wolltest du garnicht aus dem Framework "aussteigen" - weil du die von ihm gebotenen Features weiter nutzen willst, sondern lediglich Funktion X anders haben.
da ich atm mehr am framework schreiben bin, als am benutzen kann ich nur sagen, dass man gerade bei webentwicklung selten an designgrenzen stößt. jegliche grenzen die ich während der entwicklung mitbekam, spielten sich im templatebereich ab, und das nur deshalb weil javascript browserindependent miteinbezogen wurde.ZitatWeil du Design Patterns ansprichst: genau dort sehe ich den Knackpunkt: Das Framework implementiert den einen oder anderen Design Pattern, trifft für dich Annahmen was dein Design angeht.
Brauchst du jetzt eine abweichende Implementierung, müsste dir das Framework die entsprechenden Schnittstellen liefern. Dass es das nicht 100%ig kann, versteht sich von selbst. Zumindest habe ich noch kein Framework benutzen dürfen, an dessen Grenzen ich nicht gestoßen bin, und dann viel Zeit verschwenden musste, das vorgehabte im Rahmen des Frameworks umständlich umzusetzen. Vermutlich verstehen wir aber auch etwas anderes unter "verlassen".
wäre kein problem, würde der controller (ordentlich dokumentiert) jegliche objekt-orientierten möglichkeiten zulassen. erweiterung eines frameworks darf _niemals_ problematisch sein.ZitatAm beispiel des MVC-Patterns: Framework X implementiert dir Controller und Stellt dir ein Templatesystem für deine View zur Verfügung. Bei deinem Model lässt es dir alle Freiheiten. Sobald du jetzt z.B. ein abweichendes Verhalten im Controller brauchst, bist du auf programmatische schnittstellen oder configurationsoptionen des Frameworks angewiesen. Allein dadurch reduziert sich die Brauchbarkeit von Frameworks für größere Apps schnell gegen 0, weil du es nicht mehr schaffst deine gesamte App im Rahmen des Frameworks zu entwickeln, was wiederum die Homogenität und damit die Wartbarkeit negativ beeinflusst.
Und im Grunde wolltest du garnicht aus dem Framework "aussteigen" - weil du die von ihm gebotenen Features weiter nutzen willst, sondern lediglich Funktion X anders haben.
wrapper = ins framework integrierte libsZitatVon ins Framework verwursteten Libs halte ich noch weniger. Wenn ich eine Framework-Abstraction brauche, ist die Lib schlecht, von mir aus ein Wrapper für die Lib, aber nicht integriert, da hast du wieder das Problem wenn du eine andere Lib verwenden willst.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025