Ein Einführungslehrbuch von Netizen Koalant (Bitte melden Sie sich an, um es herunterzuladen)
Stellt die Ruby-Sprache, die Rails-Installation und ein einfaches Beispiel vor. Sehr nützlich für Anfänger. Sehr empfehlenswert!
Wenn Sie als Java-Programmierer in der J2EE-Entwicklung tätig sind, werden Sie auf jeden Fall viele Anwendungs-Frameworks verwenden. Keine Sprache ist so aktiv wie die Java-Sprachgemeinschaft, und für jedes neue Programmierkonzept wird es bald entsprechende Open-Source-Implementierungen im Internet geben. Entsprechend dem am häufigsten verwendeten Website-Entwicklungsmodell MVC gehören viele Frameworks zur Controller-Schicht (C) und das Velocity-Framework gehört zur Ansichtsschicht (V). Die von Ihnen verwendete Datenpersistenzschicht Sei es Hibernate, iBatis, OJB oder eine der vielen Open-Source-Implementierungen von JDO, wie z. B. JPOX. Aber zu viele Wahlmöglichkeiten zu haben, ist nicht unbedingt eine gute Sache, und nicht jeder kann sich den richtigen Rahmen aneignen, um das Richtige zu tun. Wenn Ihre Entwicklungsplattform .net ist, können Sie diese Situation vermeiden. Normalerweise müssen Sie nur Visual Studio .net als Entwicklungstool installieren und dann ein MSDN installieren, um Informationen zu finden. Für Programmentwickler ist dies eine sehr schwierige Situation. Ich persönlich mag Java sehr, egal ob es sich um Lernen oder Üben handelt, es bietet uns viel. Aber warum denke ich, dass „One-Stop“-Lösungen wie .net oft richtig sind?
Als Java-Programmierer denke ich, dass einige der offensichtlicheren Probleme mit Java darin bestehen, dass Java erstens zu komplex und zweitens zu programmiererorientiert und nicht benutzerorientiert ist. Im Vergleich zu C++ ist Java bereits sehr einfach. Die Tatsache, dass es so viele Java-Programmierer gibt, verdeutlicht diesen Punkt. Aber wie jemand einmal sagte: „Unter Linux kann man leicht erkennen, wer der Master ist“, aber im Java-Bereich ist das nicht so einfach. Ich stelle oft fest, dass meine Kollegen um mich herum immer noch sehr geringfügige konzeptionelle Fehler machen. Sie können sich noch viele Jahre lang mit der J2ee-Entwicklung beschäftigen, auch wenn sie nicht genau unterscheiden können, was Schnittstellen, abstrakte Klassen und Servlets sind. Aber warum soll Java kompliziert sein, weil es zu viele verschiedene Technologien erfordert, um eine Aufgabe zu erfüllen? Wie können Sie also sicherstellen, dass Programmierer, die keine sehr klaren Konzepte haben, die richtige Wahl treffen? Und wie viele der vielen Frameworks bieten „One-Stop“-Dienste an? Das kürzlich erschienene Spring-Framework bietet unter vielen Frameworks die meisten Dienste, weist jedoch ein neues Problem auf: Es ist immer noch zu sehr auf Programmierer und nicht auf Benutzer ausgerichtet. Warum sagst du das? Frameworks sind ursprünglich für Programmierer konzipiert, nicht wahr? Obwohl Spring viele Auswahlmöglichkeiten bietet (aber nicht genug, da es selbst kein ORM hat), bietet es keine einfache Möglichkeit, es zu verwenden, sodass wir nur sagen können, dass es für Programmierer gedacht ist. Die meisten Java-Frameworks haben dieses Problem, das heißt, die Lernkurve ist relativ hoch. Ich denke, das Niveau der Lernkurve ist der Schlüssel zur Unterscheidung, ob ein Framework für Programmierer oder Benutzer gedacht ist. Dies spiegelt sich meiner Meinung nach hauptsächlich in der Benutzerfreundlichkeit des Frameworks wider. Tatsächlich sind die ultimativen Benutzer des Frameworks Programmierer. Der Grund, warum wir zur Unterscheidung „Benutzer“ und „Programmierer“ verwenden, liegt darin, dass einige Frameworks für „Programmierer“ schwierig zu verwenden sind, obwohl sie eine große Menge an Infrastruktur und Teilen bereitstellen. Sie benötigen immer noch Programmierer, die es selbst zusammenbauen. Das „benutzerorientierte“ Framework ist einfacher. Benutzer müssen nur den Anweisungen folgen, um es zu verwenden. Warum Ruby on Rails in der Java-Community für Aufsehen sorgen wird, liegt meiner Meinung nach daran, dass es ein benutzerorientiertes, einfaches und benutzerfreundliches „One-Stop“-Framework bietet, das im Java-Framework fehlt. Warum kann Ruby on Rails das nicht? Ist es nicht möglich, dass Java selbst das nicht kann? Tatsache ist, dass viele Designer von Java-Frameworks dies nicht tun. Möglicherweise haben sie sich auf die Verwendung von Mustern zum Entwerfen eines guten Frameworks beschränkt und sich nicht mehr um die Benutzerfreundlichkeit des Frameworks gekümmert. Jeder, der Spring verwendet hat, weiß, dass seine XML-Konfigurationsdatei nach und nach erweitert wird, obwohl wir sie leicht in kleinere Konfigurationsdateien aufteilen können, um dieses Problem zu lösen. Bei der Verwendung von XML-Konfigurationsdateien folgt es jedoch dem üblichen Konzept der Java-Programmierung: „Java ist die beste Programmiersprache, XML ist die beste Sprache zum Beschreiben von Daten und die Kombination der beiden ist die perfekteste.“ Wenn eine Anwendung nicht verwendet wird xml, um es zu beschreiben, dann ist es keine gute Java-Anwendung.
Allerdings unterscheidet sich Ruby on Rails in diesem Punkt von vielen Java-Frameworks und erzielt einen Durchbruch in der Benutzerfreundlichkeit des Frameworks. Diese Idee zieht sich durch das gesamte Design von Rails: Konvention vor Konfiguration. Wenn wir beispielsweise Java-Webanwendungen schreiben, unterscheiden wir normalerweise die entsprechenden Klassen nach MVC. Ich persönlich lege die Controller-Klasse gerne in das Webverzeichnis, die View-Klasse in das Ansichtsverzeichnis und die Modellklasse in das Domänenverzeichnis . Aber verschiedene Personen haben unterschiedliche Einstellungen und unterschiedliche Namen. Die einzige Lösung für das Java-Framework besteht darin, ihm diese Informationen über die XML-Konfigurationsdatei mitzuteilen. Die Lösung von Rails ist: Ich definiere die Verzeichnisstruktur, und Sie müssen nur Dinge in das von mir definierte Verzeichnis legen. Dies ist ein wichtiger Grund, warum es in Rails nur sehr wenige Konfigurationsdateien gibt (aber nicht keine). Obwohl die Idee sehr einfach ist, besteht der Vorteil darin, dass die Entwicklungseffizienz von Rails zehnmal so hoch ist wie die der Java-Entwicklung (dies wird von Rails-Fans behauptet, aber ich glaube das, und ich glaube, Sie werden es auch wissen, nachdem Sie diesen Artikel gelesen haben ). Macht dies allein die Rails-Entwicklung schneller als die Verwendung von Java? Nicht ganz, denn dies profitiert auch von einer anderen Designphilosophie von Schienen: weniger Code. Das kann keine Sprache von sich behaupten, dies allein dank seiner Designsprache Ruby. Mit Ruby können Sie tatsächlich viele Funktionen in einer kleinen Menge Sprache schreiben, was mit anderen Sprachen einfach nicht möglich ist. Um Rails zu beherrschen, müssen Sie Ruby verstehen. Jemand hat einmal gesagt: Zope (das berühmte Python-Web-Framework) ist eine Killeranwendung von Python, und Python ist Zopes Geheimwaffe. Ich denke, dieser Satz ist am besten geeignet, um die Beziehung zwischen Rails und Ruby zu beschreiben.
Expandieren