Προς το περιεχόμενο

Ruby on rails


mkst

Προτεινόμενες αναρτήσεις

Νάμαστε...

2) Έχεις να κάνεις πολύ λιγότερο SQL από ότι σε άλλα frameworks (-)

3) Σύμφωνα με τους δημιουργούς τους' date=' (αλλά και αυτούς που την χρησιμοποιούν) η RoR είναι μία "opiniated" language: Άμα δεν τα κάνεις ακριβώς όπως είχαν στο μυαλό τους οι δημιουργοί, την τζούπησες. (-)

4) Σύμφωνα με τους δημιουργούς της πάλι, δεν πρέπει να βάλεις τα restrictions στην βάση δεδομένων, αλλά στην εφαρμογή. Προερχόμενος από dbadmin παρελθόν, θεωρώ το τελευταίο ώς απεριόριστη πατάτα (-)

5) Το learning curve δεν είναι τόσο μικρό όσο θα θέλαν να πούν (-)

[/quote']

 

2)

Το να γράφεις λιγότερα queries δεν το βλέπω ως αρνητκό.

Το να γράφεις sql statements μαζί με κώδικα κάνει το πρόγραμμα ακόμα πιο δυσκολο στη διαχείριση. Φαντάσου σε μια εφαρμογή να προστεθεί ένα field σε ένα table. Θα πρέπει να αλλαχτεί κάθε sql statement. Εύκολο αν είναι καμιά 10αριά. Αλλά αν είναι μερικές εκατοντάδες; Θα πρέπει να αλλάξεις τα select/insert/update statements, θα πρέπει να αλλάξεις τα templates για να προσθέσεις νέα πεδία στην φόρμα σου. Στην rails είναι πολύ πιο απλά αφού κάθε κλάση αντιστοιχεί σε ένα table.

 

3)

Την "τζούπησες", αλλά αν δεν θέλεις να τσουπίσεις θα πρέπει να κάθεσε να γράφεις τόση xml configuration όσο και κώδικα. Όλα έχουν το τίμημά τους :)

 

4)

Όχι απαραίτητα. Αν θέλεις βάζεις restrictions και στην βάση. Περνώντας τα restrictions στα μοντέλα σου φτιάχνεις την λογική της εφαρμογής σου. Αν η εφαρμογή είναι ο μοναδικός υπεύθυνος για την εισαγωγή/διαγραφή δεδομένων στους πίνακες δεν βλέπω τον λόγο εισαγωγής restrictions και στην βάση.

 

5)

Συμφωνώ. Φταίει η ruby. Έχει παράξενη σύνταξη.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 46
  • Δημ.
  • Τελ. απάντηση
Το σίγουρο είναι οτι messy frameworks σαν την php (προσωπικά πιστεύω οτι όποια εταιρία στηρίζεται σε php' date=' θα πρέπει να απολύσει τον technical manager σήμερα), ανήκουν στο παρελθόν.

[/quote']

 

Θα σταθώ σε αυτό. Από που πηγάζει το παραπάνω statement? Δεν έχω ασχοληθεί καθόλου με PHP αλλά μου ακούγεται κάπως "ακραίο".

 

 

Επίσης, μιας και έχετε ήδη μια κάποια εμπειρία με το RoR θα εκτιμούσα τα comments σας πάνω στο following rant (παρόλο που έχω διαβάσει και την αντίπερα όχθη) :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θα σταθώ σε αυτό. Από που πηγάζει το παραπάνω statement? Δεν έχω ασχοληθεί καθόλου με PHP αλλά μου ακούγεται κάπως "ακραίο".

 

Επίσης' date=' μιας και έχετε ήδη μια κάποια εμπειρία με το RoR θα εκτιμούσα τα comments σας πάνω στο following rant (παρόλο που έχω διαβάσει και την αντίπερα όχθη) :)

 

Αν δεν είναι αρκαία άποψη είναι σίγουρα radical. Αν δεν υπάρχουν coding standards μπορεί πολύ εύκολα να γίνει ένα μπάχαλο, ιδίως σε μία εταιρεία που υπάρχουν πολλοί developers, που πολλοί από αυτούς είναι περαστικοί. Και αυτό επειδή κυρίως με την php υπάρχουν πολλοί τρόποι να κάνεις το ίδιο πράγμα, να χρησιμοποιήσεις 1002 διαφορετικά extensions ή classes.

 

Διάβασα και τα δύο άρθρα και είδα το 1ο πολύ επιθετικό και χωρίς λόγο.

Παράλληλα κάποια από τα πράγματα που γράφει δεν στέκουν (πχ μπορείς να ορίσεις το όνομα του foreign key, :foreign_key=>name_id). Μόνο και μόνο που 'γκρινιάζει' για αυτό λέει πολλά:

 

Then you discovered you wanted to depart slightly from the scaffolding. So you backed out and figured out how to ruby script/generate scaffold Thing. Except -- Woops! -- this overwrites your old code, your models and controllers.

 

Βέβαια και εδώ έχει άδικο όπως μαθαίνω από το zifus, το framework σε ρωτάει πριν κάνει overwrite. Αλλά ακόμα και να μην ρωτούσε δεν είναι επιχείρημα.

 

Μόνο τα δύο αυτά πράγματα με βρίσκουν σύμφωνο:

1. Δεν υπάρχει manual. Υπάρχει όμως το wiki και ένα πολύ ζωηρό κανάλι στο irc.

2. Τα tutorials που υπάρχουν δίνουν πολύ έφμαση σε scaffolding και καθόλου σε πιο πρακτικά θέματα όπως naming conventions.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είναι μία μαγική γραμμή κώδικα:

scaffold :controller_name

 

Σου δημιουργεί τα views για CRUD operations κάθε μοντέλου. Καλό αν έχεις δύο πίνακες που δεν έχουν συνδέονται μεταξύ τους, αλλά μέχρι εκεί. Αν έχεις relations, το scaffolding δεν τα βλέπει (διορθώστε με αν κάνω λάθος).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επιστρέφω με commnent στο video περί "better-web-app" :D

 

to video einai kata thn gnwmh mou para polly kalo kai apo oti fenetai apo empeiro epagkelmatia alla tha protimousa na ylopoioyse ena pio "emporiko" project se ola ta framework pou sygkrinei gia kalhtero antikimeniko apotelesma.

 

Krima pou den sygkrinei kai php.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

video fun factor = :D

 

Κατάλαβα που το πάει από το πρώτο κιόλας example χρησιμοποιώντας J2EE.

Κάποια γενικά σχόλια για το demo.

 

Μου αρέσει πως αρχίζει τα "mkdir" για να φτιάξει το dir structure του web app και αμέσως μετά δημιουργεί το "pom.xml" by hand για να χρησιμοποιήσει maven (1.x by the way) :D. Με ένα απλό "mvn archetype:create -DgroupId=oodt -DartifactId=hello -DarchetypeArtifactId=maven-archetype-webapp" σε maven 2.x θα είχε αποφύγει το typo του "webapp(s)", το πρόβλημα με το "web.xml" και φυσικά τα 3 restarts, μιας και προτίμησε μία μέθοδο prone to errors...

 

Τα xml configuration παρόλο που παραμένουν ίδια στον αριθμό δεν χρειάζεται να κάτσει ο ίδιος να τα γράψει...:/

 

JSP view? Δε κατάλαβα γιατί έκανε delete το servlet declaration στο web.xml. Μάλλον επειδή δε χρειάζεται(?), αλλά έτσι υπέπεσε σε restart(!), θα μπορούσε απλά να κάνει ένα copy το jsp στο index του webapp και be done with it. :/

 

Για το δεύτερο part του βίντεο δεν έχω κάτι να πω... "Write hibernate mappings"? σίγουρα θα αστειέυεται...

 

Για όσους ασχολούντε με το web dev είναι γνωστό ότι για CRUD operations τα RAD tools είναι μανούλες. H Java και το J2EE συγκεκριμένα ποτέ δεν υποστήριξε ότι είναι ένα RAD tool ούτε σχεδιάστηκε με αυτό in mind. Κάθε άλλο!

 

Ωραία είδαμε πως το django χρησιμοποιεί το "model" για να κάνει τα πάντα auto gen for us, πώς το Zope το οποίο είναι ένα ολοκληρωμένο εργαλείο διαχειρίζεται τα scripts και τα templates, πώς το RoR χρησιμοποιεί τα διάφορα scripts και το "scaffolding" (το 'μαθά και αυτό! :P) για τα τα operations.

 

Που είναι τα τόσα tools που υπάρχουν για να κάνει κανείς develop J2EE εφαρμογές? Ένα απλό maven και αυτό το χρησιμοποίησε *μόνο* για να κάνει build το war :).

 

Όσο ακραίο μου φάνηκε το "J2EE: Not appropriate for web applications" (το οποίο προσωπικά με έκανε απλά να χαμογελάσω :) ) τόσο ακραίο είναι να συγκρίνουμε το

J2EE με το όποιο RAD tool.

 

Αλίμονο αν η 42 π.χ. έκανε develop τα newsbox και skroutz σε J2EE.

 

The bottom line.

Use the right tool for the job.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

kai egw thn psiliastika oti malon thelei na riksei thn J2EE alla me antikeimenika krhthria.

 

Yponoeis Cue oti den kserei kala J2EE h epitides den thn xrhshmopoiei pio apodotika ?

 

pantos apo alla artha pou diavasa gia ton typo apo oti fenetai exei makroxronia empeiria se J2EE...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

kai egw thn psiliastika oti malon thelei na riksei thn J2EE alla me antikeimenika krhthria.

 

Yponoeis Cue oti den kserei kala J2EE h epitides den thn xrhshmopoiei pio apodotika ?

 

pantos apo alla artha pou diavasa gia ton typo apo oti fenetai exei makroxronia empeiria se J2EE...

 

 

Δεν υπονοώ τπτ. Απλά λέω που και πως το συγκεκριμένο test είναι flawed.

Μπορώ να καταλάβω where he is coming from απλά πιστεύω πως αποτυγχάνει στο execution.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 χρόνια αργότερα...

να επαναφέρω το θέμα γιατί θέλω να ασχοληθώ με django, λόγω της λατρείας μου για τη python :-D και επειδή έχω και μερικές ερωτήσεις σχετικά με όλα αυτά τα frameworks ( ; ) είπα να μη κάνω -ακόμη- νέο thread.

 

καταρχάς να διευκρινήσω πως ελάχιστα κατάλαβα απο τα παραπάνω, και γνωρίζω πολύ βασικά σχετικά με php, sql, apache.

 

1η ερώτηση: το RoR είναι παρόμοια πλατφόρμα/εργαλείο με τη Django, απλα υλοποιούνται σε διαφορετικές γλώσσες με το ίδιο concept;

 

2η ερώτηση: για δημιουργία web apps, ποιά έχει πιο "δυναμικό" χαρακτήρα; RoR, Django, συνδυασμός php+mysql+apache και επειδή κάτι αναφέρθηκε για java (η οποία με έχει μπερδέψει ως προς τα framework της και τη χρήση της γενικότερα) βάζω και αυτή στο ερώτημα.

 

3η ερώτηση: δημιουργία ιστοσελίδων μπορεί να γίνει το ίδιο "ελεύθερα" σε RoR ή Django σε σχέση με php; ή είναι ακόμα ενα ετοιματζίδικο σκηνικό και αυτά όπως η joomla ή η mambo (ήθελα να ασχοληθώ με τη 1η, αλλά διαπίστωσα πως οτι έφτιαχνα θα έμοιζε με το άλλο);

 

thnks in advance :-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1η ερώτηση: το RoR είναι παρόμοια πλατφόρμα/εργαλείο με τη Django, απλα υλοποιούνται σε διαφορετικές γλώσσες με το ίδιο concept;

Ναί. Το RoR το λέει MVC (model-view-controller), το django το λέει MTV (model-template-view). Η φιλοσοφία τους είναι παρόμοια, το ίδιο και οι δυνατότητές τους (με κάποιες διαφορές βέβαια)

2η ερώτηση: για δημιουργία web apps, ποιά έχει πιο "δυναμικό" χαρακτήρα; RoR, Django, συνδυασμός php+mysql+apache και επειδή κάτι αναφέρθηκε για java (η οποία με έχει μπερδέψει ως προς τα framework της και τη χρήση της γενικότερα) βάζω και αυτή στο ερώτημα.

Τί εννοείς "δυναμικό"; Τα rails και το django θα σε γλυτώσουν από πολύ πονοκέφαλο εάν αποφασίσεις να τα χρησιμοποιήσεις αντί να φτιάξεις κάτι από την αρχή σε php. Αν δεν κάνω λάθος, η πιο πρόσφατη μόδα στη Java είναι τα Java Server Faces, τα οποία έχουν τη φήμη οτι είναι αρκετά πολύπλοκα.

3η ερώτηση: δημιουργία ιστοσελίδων μπορεί να γίνει το ίδιο "ελεύθερα" σε RoR ή Django σε σχέση με php; ή είναι ακόμα ενα ετοιματζίδικο σκηνικό και αυτά όπως η joomla ή η mambo (ήθελα να ασχοληθώ με τη 1η, αλλά διαπίστωσα πως οτι έφτιαχνα θα έμοιζε με το άλλο);

Τα joomla/mambo είναι Content Management Frameworks, τα Django/Rails είναι web development frameworks. Η διαφορά είναι οτι στα πρώτα παίρνεις κάτι έτοιμο, και το κόβεις-ράβεις ανάλογα με τις ανάγκες σου. Στα δεύτερα παίρνεις έτοιμα τα εργαλεία, αλλά την εφαρμογή σου πρέπει να την φτιάξεις εσύ. Το τί είναι καλύτερο εξαρτάται από το τί θές να κάνεις, καθώς και το πόσο χρόνο είσαι διατεθειμένος να αφιερώσεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

artificer ήσουν κατατοπιστικός.

 

όταν λέω "δυναμικό", εννοώ αν σου παρέχει την απαραίτητη ευελιξία στην ανάπτυξη. δλδ όταν κάνω develope (πρώτα ο θεός) σε django και θέλω να δημιουργήσω ή να τροποποιήσω/δημιουργήσω κάποιο component/εργαλείο της, μπορώ να το κάνω σε python (αντίστοιχα σε ruby για την RoR);

 

αν ισχύει το παραπάνω τότε πιστεύω πως έχει τη "δυναμικότητα" που χρειάζομαι.

 

κατάλαβα πως η django/RoR δεν έχουν καμία σχέση με Joomla/Μambo (και αν κατάλαβα πάλι καλά με τη django/RoR μπορείς να φτιάξεις cms; ) απλά τις ανέφερα σαν παράδειγμα για να δείξω τι εννοώ με την έλλειψη "δυναμικότητας", μια και παρέχουν πιο "έτοιμες" λύσεις σε σχέση με τη php (αν και απ'όσο ξέρω στηρίζονται σε αυτή), με την οποία περιορίζεσαι λιγότερο σε σχέση με τις joomla/mambo.

 

btw αν ασχολείται κανείς με django/RoR, και έχει να προτείνει το οτιδήποτε για να κάνω μια σωστή αρχή, είναι ευπρόσδεκτος :-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ θα ήθελα να προσθέσω, σχετικά με κάτι post που είδα στις πρώτες 2 σελίδες, ότι συγκρίνετε ανόμοια πράγματα. Συγκρίνεται την RoR, η οποία είναι Framework γραμμένο πάνω στην Ruby με την PHP η οποία είναι programming language.

 

Προφανώς και θα έχεις messy code άμα ακόμα γράφεις ένα database driven application με κλασσικά procedural calls της PHP και άπειρες φορές να επαναλαμβάνεται το ίδιο SQL statement, ή οτιδήποτε άλλο, χωρίς να χρησιμοποιήσεις κάποιο από τα πολλά Frameworks που υπάρχουνε για PHP (cakePHP, CodeIgniter, Zend κτλ). Η σύγκριση θα πρέπει να γίνεται με κάποιο από αυτά τα Frameworks με λίγα λόγια και όχι με την ίδια την PHP.

 

YΓ. Μολις κατάλαβα οτι το θέμα είχε ξεκινήσει το 2006.....

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ θα ήθελα να προσθέσω, σχετικά με κάτι post που είδα στις πρώτες 2 σελίδες, ότι συγκρίνετε ανόμοια πράγματα. Συγκρίνεται την RoR, η οποία είναι Framework γραμμένο πάνω στην Ruby με την PHP η οποία είναι programming language.

 

Προφανώς και θα έχεις messy code άμα ακόμα γράφεις ένα database driven application με κλασσικά procedural calls της PHP και άπειρες φορές να επαναλαμβάνεται το ίδιο SQL statement, ή οτιδήποτε άλλο, χωρίς να χρησιμοποιήσεις κάποιο από τα πολλά Frameworks που υπάρχουνε για PHP (cakePHP, CodeIgniter, Zend κτλ). Η σύγκριση θα πρέπει να γίνεται με κάποιο από αυτά τα Frameworks με λίγα λόγια και όχι με την ίδια την PHP.

 

YΓ. Μολις κατάλαβα οτι το θέμα είχε ξεκινήσει το 2006.....

 

 

ωραία φίλε μου, τώρα έγιναν ακόμα πιο ξεκάθαρα τα πράγματα :-)

 

άμεση ερώτηση: cakephp ή django/RoR;

 

δλδ ποιά είναι τα μειονεκτήματα και τα πλεονεκτήματα της κάθε μίας; αν και πιστεύω πως υπερτερούν οι 2ρες λόγω πιο γενικού-σκοπού γλώσσας (python/ruby σε σχέση με php δλδ).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.


  • Δημιουργία νέου...