Обучение веб-разработке: Django vs Node vs Rails vs Others [закрыто]
Я знаю Java и Python(с некоторыми Django) и немного Ruby (без рельсов) и без узла.js и, вероятно, есть еще что-то, о чем я не знаю.
Я планирую начать изучение веб-разработки и ее полного стека, но когда я вижу вокруг, я вижу множество вариантов, и это меня смущает. Мне нужны предложения, основанные на следующих параметрах
- простота в освоении
- простота сборки и итерации
- простота развертывания (например, бесплатно и дешево хостинг решения)
- популярные
пожалуйста, бросьте несколько советов
спасибо
5 ответов:
Рубин на рельсах:
легко учиться? - Да-отличная документация на guides.rubyonrails.org и отличный учебник в railstutorial.org.
легко построить и перебирать? - наверняка-rails очень хорошо поддается гибкой и итеративной разработке.
простота развертывания? - развернуть (по крайней мере для небольших приложений и во время обучения), вы не можете действительно сделать проще, чем с помощью heroku.com - Git на основе толчка, и это бесплатно.
популярность - очень популярны!
Джанго
легко учиться? - как рельсы, Django имеет отличную документацию на docs.djangoproject.com/en/1.3/. Возможно, немного более крутая кривая обучения (чисто мнение здесь, но я нахожу, что rails имеет тенденцию быть "готовым к работе", тогда как django нуждается в небольшой конфигурации, прежде чем вы приступите к разработке).
легко построить и перебирать? - опять же, как рельсы, как только вы работаете с ним, это довольно легко повторить.
простота развертывания? - не так просто, как рельсы. Есть эквиваленты героку gondor.io, djangozoom.com, stable.io но они, как правило, находятся в частной бета-версии. Тем не менее, у меня не было проблем с получением приглашения наgondor.io.
популярность - это популярно, но сообщество пользователей немного меньше....живой, чем рельсы толпы.
узел
легко учиться? - um да и нет, легко поставить быстрый hello world server вместе, но более сложно, если вы хотите полномасштабное приложение. Я бы воздержался от этого в первую очередь-это новое и быстро развивающееся. Кроме того, сам узел не сопоставим с Rails или Django, потому что последние два являются фреймворками, тогда как Node-это скорее набор API barebones что вы могли бы использовать, чтобы развить что-то. Вы можете выбрать такую структуру, какexpressjs.com что больше соответствует Rails и Django. Я не использовал его, поэтому я не могу дать вам свое мнение.
легко построить и перебирать? - легко построить-да, легко повторять-Да.
простота развертывания? - вы можете перейти к no.de и подать заявку, чтобы получить smartmachine - это бесплатно на данный момент и легко развернуть-git основывающийся.
популярность - он набирает обороты.
несколько заметок от разработчика Django, который потратил немного времени на изучение узла.js:
подход асинхронного программирования в узле.JS-это концептуально сложнее. Хотя вы можете использовать аналогичный подход в Django или Rails, это не так часто.
узел.js очень, очень быстро выходит из коробки. Но одна из причин этого заключается в том, что он не включает в себя очень много OOB.
мир узлов очень фрагментированный прямо сейчас, с десятками библиотек узлов, решений и фреймворков, конкурирующих за внимание. Экспресс-видимому, самый популярный фреймворк для Node прямо сейчас, но мы вроде в игру ожидания, чтобы увидеть, что получится. У Django и Rails уже есть все биты, необходимые для создания продвинутых приложений, без необходимости склеивать все вместе самостоятельно.
самый популярный фреймворк для Node.js прямо сейчас является Express, но Express даже не включает способ подключения к базе данных. Вы должны добавить это. Он также не включает в себя ORM - вам нужно добавить это. Я заглянул в некоторые Ормы узлов, но они не казались почти такими же полными или сложными, как у Джанго.
Django-это полное, связное, сквозное решение, в котором все части легко сочетаются друг с другом ("путь Mac"). Узел.js-это базовая линия, поверх которой вы выбираете свою собственную структуру, свой собственный ORM, свой собственный драйвер БД, свою собственную систему маршрутизации URL и т. д. так далее. ("путь Unix").
есть преимущества для Unix-способа, но такие системы IMO сложнее оторваться от Земли и сложнее поддерживать. Части не обязательно говорят друг с другом, как вы ожидаете, и весь проект не обновляется сразу. Сквозные системы, такие как Mac software/hardware continuum и Django/Rails, являются огромными выигрышами для производительности. Для сравнения обратите внимание на относительную неясность TurboGears Python (куча disconnected parts) по сравнению с Django. Джанго съел обед TurboGears, потому что он сплоченный и последовательный. Если производительность важна для вас, вы будете более продуктивны, работая в более зрелых рамках. узел.структура js, которая выполняет это видение, когда-нибудь придет, но ее еще нет.
Express не предоставляет диапазон полезных инструментов командной строки, API данных и т. д. что Джанго или рельсы обеспечивают.
узел.JS фреймворками конечно, не включайте ничего подобного администратору Django, что является огромной победой производительности для разработчиков Django.
чисто мое мнение, но питон просто чувствует более элегантный, чем Javascript. Код является более компактным и более читаемым. Не большое препятствие, хотя, просто предпочтение.
в целом, Django чувствует себя как" батареи включены " платформа в то время как узел чувствует себя больше как рыться продажи.
узел / Экспресс действительно молоды. Захватывающие в пути, и показывая огромные перспективы, но как долго это займет для узла.JS фреймворками, чтобы чувствовать себя конкурентоспособными со зрелыми рамки? Я не знаю.
с точки зрения возможности трудоустройства, я бы сказал, что вы получите хорошую работу, если вы идете с Rails или Django. Только несколько компаний действительно платят за узел.JS разработчики сейчас, потому что это просто еще не достаточно большой.
с точки зрения возможности запуска, рельсы весь путь. Большинство веселых и захватывающих возможностей запуска поддерживаются Ruby on Rails. Я столкнулся с парой, использующей Django. Но такие компании, как Groupon и Living Social, все написаны в основном на рельсах. Рубин почти в два раза популярнее Python на Github как хорошо. И вот этот вопрос Кворы:
с точки зрения будущего, узел.JS-это путь. HTML шаблоны начинают писать почти полностью в JavaScript в любом случае (jQuery.tmpl), поэтому вам нужно только освоить 1 язык, JavaScript, что делает ваш набор навыков намного более мощным. И узел.js действительно поддается веб-приложения в реальном времени. Кроме того, облачные платформы развертывания, такие как Heroku, которые изначально были 100% ruby, также начало поддержки узла.js. Есть и другие, которые делают это для всех языков, например dotcloud.
там еще много работы, которая должна быть сделана, чтобы сделать узел.js так же полнофункциональный, как Ruby on Rails (так что Rails по-прежнему является стандартом, на данный момент), но основы все там:
- экспресс.js: web framework
- Джейд.js: рамки шаблонов в HTML
- socket.io: веб-приложения в реальном времени
Если вы хотите передний край, определенно узел.js. Если вы хотите
- легкость до узнать
- простота сборки и итерации
- удобство развертывания (например, бесплатный и дешевый хостинг решения)
- популярные
Руби на рельсах.
популярность (пункт 4)): Java Server Faces (JSF) Technology. Начиная с JSF 1.2 до текущего JSF 2.1, теперь он совпадает с Java EE 5 и Java EE 6 соответственно. Это означает, что теперь это стандарт Java EE. Кроме того, преимущество будет означать, что серверы веб-приложений (такие как JBoss AS 5 и выше, GlassFish, WebSphere AS, Oracle AS и т. д.) который полностью совместим с Java EE (5 и выше) может запускать JSF (нет необходимости в конфигурациях, так что решает точку с.))
есть различные учебники там для JSF, например, в CoreServlets. BalusC написал простой и отличный учебник по настройка и написание простого веб-приложения JSF С нуля.
JSF 2.x становится в настоящее время становится настолько популярным, и более UI ориентированной рамки в сочетании с primefaces, Если вам нужна быстрая разработка приложений в экосистеме JSF, например rails, вы должны рассмотреть
Spring Roo с аддоном JSF http://java.dzone.com/articles/jsf-20-spring-roo
1)ease to learn (http://www.vogella.com/articles/JavaServerFaces/article.html) 2)ease to build and iterate 3)ease to deploy (like free and cheap hosting solutions) a) http://www.mkyong.com/google-app-engine/google-app-engine-jsf-2-example/ b) http://blog.jelastic.com/2012/06/11/how-to-deploy-primefaces-applications-into-jelastic-cloud/ 4)popular (http://www.primefaces.org/whouses.html)
Comments