Как быстро создать веб-приложение? - PullRequest
5 голосов
/ 21 сентября 2009

Чтобы создать веб-приложение, какие виды фреймворков / технологий веб-приложений с открытым исходным кодом в настоящее время представлены:

  • Быстрее учиться.
  • Простота использования.
  • Есть виджеты для быстрой разработки (с точки зрения графического интерфейса).
  • Интеграция с базой данных.

Я бы хотел, чтобы это веб-приложение связывалось с Java-клиентом. Я не связан с Java на стороне сервера и свободен, чтобы попробовать любой хороший быстрый фреймворк приложения.
Подводя итог, я не проделал большую работу для серверной стороны, поэтому не знаком с инструментами и технологиями для этого.
Что бы вы предложили?
Любой вклад будет приветствоваться! ...

Ответы [ 8 ]

8 голосов
/ 21 сентября 2009

Django имеет несколько заметных «быстрых» элементов, включая автоматически сгенерированный административный интерфейс , объединенный ORM (сокращает время разработки, поскольку не требуется писать SQL и некоторый другой код), ибольшое сообщество с несколькими повторно используемыми приложениями .

Где Django (или Ruby on Rails или любая другая платформа MVC в этом отношении) не будет быстрой - это кривая обучения, когда выСначала приходите к разработке на них.У Django (и RoR) немало проблем, и если вы не привыкли к такой среде, вам потребуется некоторое время, чтобы изучить фреймворк.Если вы используете ORM, к этому тоже нужно привыкнуть, и, конечно, для любой инфраструктуры, с которой вы работаете, есть и API для изучения.

PHP с другой стороны немного интуитивнеес точки зрения того, где вы размещаете код и как страницы составляют ваше веб-приложение.Это в основном позволит вам шлепать код везде, где вы хотите, поэтому в начале это, вероятно, будет быстрее.В конце концов, это будет быстрее, но ваш конечный продукт будет нестабильным и, возможно, потребует повторного факторинга позже.

Это сводится к вопросу о том, как используется фреймворк.Если это сайт для хобби, просто пойдите с тем, что легко (php), в противном случае вы можете рассмотреть хорошо поддерживаемую инфраструктуру MVC.

Как уже отмечали другие, jquery, вероятно, является выбором для готовыхГрафические виджеты.

Редактировать - И, очевидно, теперь Django (по состоянию на 1.1) имеет очень удивительный набор инструментов для модульного тестирования , который поставляется в комплекте.Такие вещи, как расширенный TestCase специально для Django, тестовый клиент (вы можете сделать запрос тестовой страницы без реального клиента или сервера), инструмент, чтобы дать вам% тестового покрытия вашего проекта, и куча другихаккуратные вещи.

8 голосов
/ 21 сентября 2009

Нет единого «правильного» ответа на этот вопрос. Как программист на Java более 10 лет, когда мне задавали этот вопрос, мой обычный ответ ... PHP. Для этого есть несколько причин:

  • Низкое использование ресурсов (Apache, nginx);
  • Дешевле хостинг;
  • Действительно низкий барьер для входа;
  • Это действительно веб-ориентированная, а не универсальная программа, которую можно использовать для веб-сайтов (например, Java);
  • Тот факт, что PHP-скрипты не являются постоянными (как Java-сервлеты) между запросами, делает их гораздо более щадящими и снижает вероятность утечек памяти и других проблем;
  • Нет шага развертывания (например, Python, Perl и т. Д.). Я бы сказал, что это лучшее из динамических скриптовых языков. Просто сохраните файл и нажмите перезагрузить в вашем браузере;
  • PHP может быть непоследовательным в синтаксисе и некоторых других вещах, но он также является зрелым и используется некоторыми действительно крупными сайтами в Интернете (например, Facebook, Yahoo, Flickr, Wikipedia);
  • PHP - безусловно самый популярный язык веб-разработки.
  • Виджеты могут быть выполнены любым образом из Javascript-фреймворков, таких как YUI , ExtJS , SmartClient , jQuery UI и т.д .;
  • PHP хорошо сочетается с MySQL.

При этом многие из них применимы и к другим языкам (например, Python / Django).

Я не думаю, что вам обязательно нужна среда для PHP, но если вы это сделаете, я бы посмотрел на один или несколько из:

  • Kohana : это как более современная версия более популярного CodeIgniter ;
  • Zend Framework : он модульный, поэтому вы можете использовать столько, сколько вам нужно;
  • Smarty : это мощная система шаблонов.
4 голосов
/ 21 сентября 2009

Вы уже пометили свой вопрос с помощью "java", "php", "python" и "ruby-on-rails", поэтому изучение и изучение этих инструментов, вероятно, поможет ответить на ваш вопрос.

Однако я считаю, что быстрое создание приложения практически никогда не является правильной целью. Обычно вам нужно создать приложение, которое может быть быстро поддержано , то есть поддержано с минимально возможными общими затратами на разработку с течением времени.

2 голосов
/ 21 сентября 2009

Я бы сказал, что часть кривой обучения пойдет на понимание концепций. Я изучаю веб-приложения уже несколько месяцев, и, благодаря моему более глубокому пониманию концепций, большинство фреймворков имеют очень много общего. Вот мои результаты:

  • PHP: здорово узнать о концепциях создания форм, http-post-запросы, http-get-запросы. простое взаимодействие со слоем базы данных, и за пару часов можно получить работающее базовое приложение. Практически нет проблем с системами сборки и настройкой веб-сервера.
  • Ruby-on-Rails: здорово узнать о REST и более сложных CRUD-приложениях. Замечательно узнать о сложности позади MVC и особенно простом и мощном взаимодействии со слоем базы данных с помощью ActiveRecord. Введение метапрограммирования (code-that-write-code, code-scaffolding) великолепно. Хорошие возможности для бесплатного развертывания в облаке, например heroku.com и там очень активное сообщество
  • Java: возможно мощное взаимодействие с веб-сервером (Tomcat, JBoss, ...). MVC здесь довольно сложен, и, как правило, необходимо выполнить много шагов настройки (системы сборки, слой ORM, ...). Grails Упрощение и вводит метапрограммирование для Java. Jboss Seam представляет REST для Java (но пока не рассматривал это)
1 голос
/ 21 сентября 2009

Я бы проголосовал за Граальс .

1 голос
/ 21 сентября 2009

Говоря только о скорости разработки, Ruby on Rails - самый быстрый.

1 голос
/ 21 сентября 2009

Есть тонны, какие из них «хорошие», зависит от того, что вам нужно.

Есть Ruby on Rails, что очень удобно.

Для питона есть Джанго.

Для PHP (я трачу много времени на работу с PHP), вы можете посмотреть:

  • Symfony
  • CakePHP
  • Солнечный
  • Zend Framework

Что все хорошо в одних ситуациях и раздражает в других.

0 голосов
/ 30 марта 2013

Вы можете создать работоспособное веб-приложение Java в течение 5-10 минут, используя следующий онлайн-генератор веб-приложений Java:

http://www.webappexpress.net

...