Zastanawiam się nad użyciem Grails do stworzenia nowej strony internetowej, ale jestem otwarty na inne / nowe języki programowania i frameworki. Zrobiłem programowanie przy użyciu J2EE / JSF2, ASP.NET i PHP. Czy Grails lub Ruby on Rails są najlepszym sposobem na szybkie uruchomienie funkcjonalności?
Kilka wstępnych przemyśleń:
- DJango wygląda podobnie do RoR / Grails i rozważyłbym to
- GWT to ciekawa koncepcja, ale nie wydaje się, że czas realizacji jest tak szybki
Dzięki, -Jon
programming-languages
frameworks
web-framework
Jon Onstott
źródło
źródło
Odpowiedzi:
Jak w przypadku wszystkich tego rodzaju pytań, odpowiedź brzmi „to zależy”. Czynniki, które należy wziąć pod uwagę, to: jak dobrze czujesz się w języku / frameworku i jakie funkcje wymaga projekt. Powiedziawszy to, stworzyłem witryny przy użyciu wielu platform, z których każda ma swoje mocne i słabe strony:
Graale
Jeśli potrzebuję szybko założyć stronę dla kogoś profesjonalnego , Grails byłby prawdopodobnie moim pierwszym wyborem. GORM jest zdecydowanie najprostszym i najbardziej intuicyjnym ORM, którego próbowałem, paradygmat MVC jest bardzo dobrze wykonany, jest 0 konfiguracji do rozpoczęcia kodowania (nie martw się o adresy URL, łaty DB, cokolwiek), bardzo szybka iteracja (wystarczy odświeżyć strona), bezproblemową integrację Java (dobra rzecz w świecie biznesu), a kilka wspaniałych wtyczek (np przeszukiwania jest rzecz piękna). Największym minusem jest to, że hosting może być trudny do znalezienia (i drogi).
Ruby on Rails
Moje doświadczenie z RoR jest bardzo podobne do gry Grails: MVC dobrze wykonane. Pozytywne jest to, że ma większą społeczność, więc zasoby online (dokumentacja, FAQ, próbki kodu itp.) Są bardzo bogate, jest mnóstwo wtyczek, Ruby jest nieco bardziej elastyczna / ekspresyjna / „funky”, i jest znacznie łatwiej znaleźć hosting (szczególnie dla projektów osobistych); z drugiej strony, zarządzanie zależnościami / konfiguracja jest do kitu (użyłem RubyGems na Windowsie, Ubuntu, Fedorze i OSX i natknąłem się na nietrywialne problemy na każdym z nich), konfiguracja / obciążenie jest nieco większe niż Grails (w szczególności radzenie sobie z trasami.rb i tonami plików migracji bazy danych) i najwyraźniej RoR ma poważne problemy ze skalowalnością.
PHP (w tym framework CakePHP)
Jeśli muszę szybko zhakować coś lub zbudować witrynę do użytku osobistego , prawdopodobnie wybrałbym PHP. PHP jest zdecydowanie najłatwiejszym językiem do nauki i wdrażania: pobierz dowolny z wygodnych pakietów LAMP, kliknij kilka razy i zacznij hakować. Społeczność jest większa niż RoR, więc dokumentacja jest obfita i istnieje niezliczona ilość wtyczek (łatwo „instaluje się”, po prostu wrzucając plik php i odświeżając stronę). Język jest prosty do nauczenia, ale niektóre rzeczy w PHP są po prostu dziwne i potrzeba wiele dyscypliny, aby uniknąć brzydkiego kodu. Framework CakePHP wymusza ładny paradygmat MVC, aby pomóc utrzymać porządek, i w większości jest na równi z RoR, chociaż osobiście uważam, że jest to nieco bardziej intuicyjne.
Java (serwlety, JSP, JSTL, rozpórki, Velocity)
Zbudowałem wiele witryn przy użyciu technologii serwletów Java i mogę szczerze powiedzieć, że nie ma obecnie żadnego powodu, aby wybierać je dla każdej nowej witryny. Mają stromą krzywą uczenia się, mnóstwo konfiguracji do walki (piekło XML), powolną iterację ze względu na potrzebę ciągłego wdrażania rzeczy (chyba, że używasz JRebel), pełny kod i brak „gratisów” pod względem funkcjonalności. Bawiłem się z Play! Framework i Spring Roo trochę i oba robią bardzo fajne rzeczy z mniej lub bardziej „czystym” kodem Java i warto zajrzeć dalej.
źródło
Korzystając z CakePHP, mogę uruchomić aplikację internetową szybciej niż ... naprawdę szybki facet. W każdym razie jest szybki. Upuść pliki w folderze głównym, skonfiguruj dwa pliki (około trzech wierszy do zmiany w każdym). I zacznij kodować.
Ponieważ faworyzuje konwencję zamiast konfiguracji, zajmie trochę doświadczenia, aby upewnić się, że jest skonfigurowana optymalnie, ale gwarantuję, że przy takim samym poziomie doświadczenia CakePHP oferuje najszybsze wdrożenie z dowolnego frameworka, prawdopodobnie okres .
To powiedziawszy, oryginalny projekt CakePHP był klonem szyn PHP (już go nie ma), więc jestem pewien, że szyny również szybko się wdrażają.
źródło
Od jakiegoś czasu pracuję ze środowiskiem ASP.NET MVC i okazało się, że jest to całkiem dobra platforma. Niezwykle łatwy w użyciu, szczególnie jeśli znasz platformę .NET. Od czasu wydania w 2009 r. Framework szybko się rozwija, wersja MVC 3 została niedawno opublikowana. Myślę, że MS robi właściwe rzeczy ze środowiskiem ASP.NET MVC.
źródło
Nie wykorzystałem wszystkiego, ale Rails jest dość cholernie szybki. Oczekuję, że Grails też jest, ponieważ całkiem dobrze ucieleśnia filozofię SUCHEGO. Nie wiem wystarczająco dużo o innych dynamicznych ramach językowych do powiedzenia.
Nawet przy dobrych strategiach generowania kodu moje ASP.NET (formularze internetowe) nie wydają się tak wydajne.
źródło
Zajmowałem się Django i Railsami i znalazłem Railsów, które bardziej mi się podobają. Biorąc to pod uwagę, wolę ASP.Net MVC 2 znacznie lepiej niż Rails. Jestem znacznie szybszy w MVC (lub nawet w formularzach internetowych) niż Rails po prostu dlatego, że mój umysł „działa lepiej” z C #.
Dla mnie sprowadza się to do tego, co wiesz i co lubisz. Od wielu ludzi słyszałem, że Ruby jest fajna, nie dla mnie to nie jest. C # jest fajne! Haskell jest fajny! Jeśli nie lubisz języka / frameworka, nie będziesz tak szybki jak wolniejsze frameworki, które lubisz.
źródło