Direkt zum Hauptbereich

Ruby on Rails Magie

Seit einiger Zeit möchte ich ein Projekt realisieren, und stolperte von Joomla zu CakePHP zurück zu Joomla, um dann bei Ruby On Rails zu landen (kurz RoR oder einfach Rails).

Mittlerweile bin ich gefesselt von Rails. Aber vorweg zur Frage, was denn Rails überhaupt ist, denn darin liegt ein großer Teil der "Kraft".

Ich möchte eine Internetseite programmieren, aber nicht einfach nur EINE Seite, sondern dynamisch erstellter Inhalt, der auch noch Inhalte je nach Auswahl an den Nutzer liefert.

Eine typische Anwendung ist ein Online-Shop, bei welchem der Nutzer Produkte in den Warenkorb "legt", um sie dann zu bestellen bzw. gemeinsam auf einer Rechnung an den Betreiber zu schicken.

Natürlich kann man dies alles "zu Fuß" machen, aber die ganzen Datenbankenrelationen im Hintergrund (Produkte, Kunden, Aufträge, Warenkörbe usw.) sind alleine schon genug, um verrückt werden zu können.

Joomla ist ein bekanntes CMS und gerade in der neusten Version eine super Geschichte, mit der man viel erreichen kann (gerade auch, weil es mittlerweile ein Framework besitzt und das CMS eigentlich nur noch ein Addon ist). Damit kann ich einfach ein paar mal klicken und bekomme eine komplette Seite fertig erstellt, auch Online-Shop o.ä.

Genauso ist CakePHP ganz toll, weil man schnell über Skripte fertige Bausteine erstellen kann. Eine einfache CRUD-Anwendung (CreateReadUpdateDelete) erreicht man durch EINEN Befehl.

In Rails verhält es sich ähnlich, viele Aufgaben müssen nicht neu erfunden werden, sondern können generiert werden, um nur noch Anpassungen durchführen zu müssen.

Aber auch wenn ich nun die Dateien von Joomla oder CakePHP nutzen könnte, um meine Vorstellungen umzusetzen, es also als Framework nutze, scheiterte ich oft an PHP.

Diese Skriptsprache "hacke" ich schon seit meinen frühen Studentenjahren und obgleich ich dazu auch schon paar Bücher gelesen habe, bin ich nie so richtig an einem Punkt angelangt, wo mir Sachen leicht fallen.

Wenn ich aber den Code anderer als Framework nutzen möchte, sollte ich die Sprache einigermaßen "sprechen" können.

Nun kommt Ruby ins Spiel, worin alles ein Objekt ist und man fast immer die Punkt-Notation nutzen kann, wie z.B. 2.times {puts "hi"} erzeugt hi, hi.

Auch fallen diese ewig blöden Klammern weg, die man sonst fast überall beim Code anderer Sprachen nutzen muss.

Ruby ist leserlicher und intuitiver.



Somit landete ich bei der Auswahl des Frameworks bei Rails,
und stieß auch gleich auf die ersten Hürden.

In Rails heisst es z.B. convention over configuration (wie auch bei CakePHP, aber weil CakePHP Rails als Vorbild hat, kein Wunder):
somit MUSS man sich an gewisse Regeln halten, damit Magie passieren kann.

Hierbei ist die Idee des MVC-Frameworks ebenso tragend wie der REST-Aspekt.

MVC bedeutet, dass das mODEL die Daten hat, die vom cONTROLLER angefordert worden sind und per vIEW an den Nutzer gehen.
Es sind also immer diese drei im Hintergrund, wenn eine Internetseite aufgerufen wird.

Dabei findet Rails diese Tripel selbständig, warum es eben auch Konvetionen für Namen gibt; dies hält den Code schlank.

REST hat bei mir etwas länger gedauert bis ich den Einsatz verstanden hatte. Es meint ganz einfach, dass Daten nicht per speziell implementierter API transferiert werden, sondern per URL und den HTTP-Headern bzw. ob es ein GET, POST, DELETE o.ä. ist.



Abschliessend kann ich jedeRM raten sich Ruby on Rails mal anzusehen, denn obwohl es teils steif wirkt, passieren die wunderbarsten Dinge im Hintergrund, ohne dass man sie programmieren musste.

Und gerade weil die Konventionen so steif sind, erreicht man schnell Erfolge und wenn man die Logik erstmal verstanden hat, versteht man die Erfolgsgeschichte RubyOnRails auch.

Kommentare

Beliebte Posts aus diesem Blog

Pflanzsack aus Jute

Nachdem ich die Bücher vom Arche Noah Verein schon vorstellte, möchte ich hier eine Topfalternative zeigen, die obendrein noch dekorativ ist. Pflanzsäcke Oder "grow bags", wenn man etwas moderner daher komme möchte bzw. mehr Suchergenisse will. Dabei wollte ich wenig Geld ausgeben, und auch nicht ganz spartan bleiben und den Blumenerdesack dafür nutzen; und bestellte mir 50 kg Jutesäcke für ca. 1,20 EUR/Stück. Nimmt man den ganzen Sack, wird der Topf schon recht groß, auch wenn man etwas des Materials nach innen oder außen faltet. Also nahm ich mir die Freiheit und nähte aus einem großen vier kleine und verbrauchte den letzten Rest unserer Erde fürs Umtopfen der Habanero. Die machte nämlich nun Platz für die sibirische Hauschili und die restlichen von beiden Sorten mischte ich zusammen und stellte sie auf die Fensterbank. Der Vorteil dieser Art von Töpfen liegt auf der Hand: sie sind billig im Vergleich zum Volumen sie sind dekorativ - wirken rustikal biet...

rails + carrierwavve + plupload = multiple file upload

Right now I am very happy! I finished my work on creating a file upload method in rails for more than one file, altogether handled by rails sessions and as objects. First I had to learn a bit more about how rails works and I achieved that by reading a lot: books, screencasts and blogs. In this blog post I like to share what I accomplished, but without the hussle of putting code blocks in here, so watch out for bold formatted text as that is the code. My goal was to have one site with just the pure option of uploading files. All file handling would be done behind the scenes by myself logging onto my server. That said you are not going to see any fancy CRUD here. Lets start then! And dont forget to versioning your app BEFORE you try something new! [e.g. git] > rails g scaffold Photo title:string Now add carrierwave to you Gemfile and run > bundle install >rails g uploader Photo Alltogether you have model, controller, views and an uploader folder with the Ph...

Virtuelles Wasser?!

In den letzten Tagen habe ich immer mal wieder etwas mit Rails programmiert und werde mich ebenso heute dem neuen Auftrag "multiple file upload" kümmern. Und weil vieles "Versuch-Irrtum" ist, gucke ich auf dem zweiten Monitor immer Reportagen. Letztens kam mir "Der große Haushaltscheck" unter die Finger: ARD Mediathek "Der große Haushaltscheck" In der Sendung vom 11.3.2013 ging es um unser Trinkwasser. Jedem sollte klar sein, dass Plastikflaschen nicht die erste Wahl sind, weil man nicht darauf vertrauen kann, dass der Hersteller wirklich "gutes" Plastik nahm (BPA, Phtalate, Benzol, Xylol usw.), aber das interessante waren die genannten Zahlen in puncto virtuellem Wasser bzw. Wassersparen. Wasser sparen an und für sich ist ja gut, nur heisst das nicht, dass wir weniger die Klospühlung benutzen sollten, sondern dass wir uns Gedanken machen über das "virtuelle Wasser". Unsere Kanalisation ist eine Schwemm-Kanalisatio...