2010-03-29 2 views
5

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworksКак правильно выбрать структуру веб-приложений?

Поскольку мы честолюбиво стремимся быть большими, масштабируемость имеет важное значение, а также функции глобализации. Поскольку мы начинаем без финансирования, важно соотношение цена/производительность и стоимость лицензий/оборудования. Мы определенно хотим, чтобы AJAX хорошо присутствовал в веб-интерфейсе. Но кроме этого нет никаких дополнительных критериев, которые я могу придумать.

Я наиболее опытный с C#/ASP.net, PHP и Java, в этом порядке, но не отказываюсь от других языков (Ruby, Python, Scala и т. Д.).

Как мы можем определить из джунглей каркасов тот, который наилучшим образом соответствует нашей цели?

Какие еще вопросы мы должны задавать себе?

Справочный материал: статьи, рекомендации по книгам, веб-сайты и т. Д.?

ответ

2

Для меня самые важные вещи, чтобы рассмотреть следующие:

  • Фантастические разработчики свинца, которые я доверяю, чтобы продолжить работу над проектом.
  • Задача, связанная с поиском в Google, дает много хороших ответов.
  • Самое главное, мне нравится, как код течет.
  • Редактировать: Также они должны быть аналогами стандартов кодирования. Если есть несогласованность, я очень раздражаюсь.

Эти 3 балла привели меня в Симфонию. Он всегда использует новейшие новейшие функции последней версии PHP. Symfony 2.0 использует пространства имен перед любой другой инфраструктурой.

Две из ваших точек были:

  • i18n - есть большая поддержка для него (помогает, что компания за ним французская, так i18n является первым гражданином класса).
  • Весы - Yahoo Answers и Vimeo используют Symfony и вносят обратно код. Если эти ребята могут масштабировать Symfony до 100 миллионов пользователей, вы тоже можете :)
+0

Я должен согласиться, особенно с вашим последним пунктом. Если Yahoo примет структуру, это довольно большое понятие относительно ее качества. – alex

-2

IMHO, для чего-то, что будет иметь много пользователей, подходит для скомпилированного языка.

Если вы не попробуете, вы не узнаете. Итак, я бы сказал, делайте небольшой проект в каждой из структур, о которых вы серьезно задумываетесь. Я бы подготовил себя, чтобы провести много испытаний, если это то, что я буду поддерживать в течение нескольких лет. Лучше начинать на правом ходу, чем на полпути через проект, только чтобы понять, что вы ошиблись. Могут быть некоторые требования, которые заканчивают ваш поиск. Например, ОС вашего сервера, функция фреймворка или масштабируемость. Если вы выложите свои планы и требования к программному обеспечению, у вас, вероятно, будет очень мало выбора - если ваш проект действительно не является достаточно общим или простым.

+2

«Иди за скомпилированным языком» - Почему? Некоторые из самых популярных веб-сайтов в Интернете написаны на языках высокого уровня. Это не должно иметь большого значения, если вы не делаете тяжелые вычисления в приложении. –

+1

Согласитесь с musicfreak. Кроме того, если вы используете PHP и вам нужны требования к скорости компилируемого компилятора, вы можете написать для него модуль в C. – alex

+0

Комментарий Yup @ alex. У меня есть приложение, которое должно применить алгоритм изображения (sobel) к сотням изображений. PHP занимает 10 секунд на изображение. Я переписал его на C, и он работал так быстро, что мне даже не нужно было измерять время. –

0

Все зависит от типа проекта, который вы будете разрабатывать. Вы строите веб-приложение или веб-сайт с тяжелым содержанием или что-то еще?

Вы также смешиваете языки программирования с фреймворками. Рамки для PHP, которые я знаю, это CakePHP, CodeIgnitor, Zend и Symfony.Для готового веб-сайта с тяжелым содержанием я бы предложил Drupal или Expression Engine.

Кажется, вы не будете развиваться самостоятельно. В этом случае я бы определил стоимость и доступность программистов и насколько широко поддерживалась структура и кто ее поддерживает. Основа Zend поддерживает парней, стоящих за PHP, в то время как CodeIgnitor поддерживает парней, стоящих за Expression Engine. Drupal имеет пакеты профессиональной поддержки, ...

Смежные вопросы