Правильно ли я делаю выбор, выбирая Yii в качестве своего PHP-фреймворка?[закрыто]
-
19-09-2019 - |
Вопрос
Я собираюсь начать разработку нового веб-сайта и занимаюсь исследованиями фреймворков PHP.Я не продвинутый разработчик PHP, но я занимаюсь разработкой веб-сайтов и приложений (в asp.net) уже несколько лет.
Мой веб-сайт в основном будет основан на AJAX (с использованием jQuery) и будет выполнять множество вызовов веб-служб.После некоторых исследований вот к чему я пришел:
КакеФФП:Изначально начинал разрабатывать в этом направлении, но счел это слишком сложным.Тот факт, что это заставляет вас использовать и изучать все эти новые вещи только для того, чтобы ими пользоваться, был немного пугающим, поэтому я пока отложил это в сторону.
Зенд:Производительность фреймворка вызывает у меня некоторый скептицизм, но я слышал, что он отлично поддерживает создание веб-сервисов.Я также слышал, что это было немного сложно.
CodeIgniter - инициализатор кода:Нет реальной причины для того, чтобы не использовать это приложение.Основываясь на том, что я прочитал, CodeIgniter и Yii очень похожи, но Yii немного быстрее и не содержит ненужного кода для PHP4 (поскольку я планирую разрабатывать исключительно на PHP5).
Что касается Yii, единственное, что меня в нем пугает, это то, что он новее других фреймворков, поэтому у него меньшее сообщество.Также, похоже, у него нет тонны поддержки веб-сервисов (только SOAP, насколько я понимаю), в отличие от Zend.
Итак, мои вопросы сводятся к следующему:
- Должны ли эти вещи меня беспокоить?(не такое большое сообщество, плохая поддержка веб-сервисов)
- Есть ли что-нибудь еще, на что мне следует обратить внимание?
- Подходит ли мой выбор Yii по сравнению с другими фреймворками для веб-приложения, основанного преимущественно на AJAX?
Бара
Решение
Вам необходимо задокументировать требования вашего проекта и причины, по которым фреймворк вообще необходим.Затем посмотрите на будущее сайта и связанный с ним функционал.Затем выберите фреймворк, который обеспечивает наиболее надежную функциональность для удовлетворения этих требований.Не зацикливайтесь на мнениях.Прочтите документацию и определите компоненты, которые вы хотите использовать, сузьте область поиска, а затем поэкспериментируйте со всеми ними.
Проведение вашей due diligence окупится не только для вас, но и для вашего клиента, который оплачивает счета.
Подводя итог:
- Определите необходимые компоненты сайта.
- Исследуйте фреймворки и определите соответствие вашим требованиям.
- Поэкспериментируйте и узнайте, какие из них лучше всего подходят для этой работы.
Редактирование / Дополнения Мнений:
Если это просто проект по личностному росту, то я бы рассмотрел возможность использования того, что будет лучше всего смотреться в вашем резюме.У Zend самое громкое имя и солидный продукт, поэтому они выигрывают по умолчанию, потому что это старый аргумент "меня не могут уволить из-за IBM". Некоторые крупные игроки используют Symphony, но это требует длительного обучения.Yii, Cake, Kohana - у всех есть плюсы и минусы, и они по-своему великолепны.
Другие советы
Раньше я был разработчиком Symfony, CakePHP, Zend framework, Kohana и Code Igniter, но около года назад я открыл для себя Yii. Мое первое (а также второе и третье) впечатление было превосходным:
- Легко обучаема
- Легко реализовать
- Простота использования и расширения
- Очень, очень, очень быстро
- Поддержка многих языков
- Поддержка множества программ, серверов и ускорителей.
- Поддержка MySQL, PostgreSQL, SQLite и Oracle...Поддержка Firebird находится в стадии бета-тестирования.
- Многие другие функции, которые я сейчас не помню.
Загрузите его, используйте и реализуйте с его помощью свой проект...вы будете поражены.
Теперь я задаю ваши вопросы:
- Должны ли эти вещи беспокоить меня?Сообщество не такое маленькое, как кажется. В настоящее время у Yii есть активное сообщество.Нас не мало.
- Есть ли что-нибудь еще, на что мне следует обратить внимание?Вы должны посмотреть свои потребности:База данных, которую вы будете использовать, веб-сервер и другие, как сказал Рэнди.
- Подходит ли мой выбор Yii по сравнению с другими платформами для веб-приложения, основанного преимущественно на AJAX?Да, это.
Как главный разработчик Yii, возможно, я не совсем честен (но хочу!), однако для объективности должен упомянуть, что раньше я пробовал и Zend, и CodeIgniter.
В более ранних выпусках Yii тесты производительности были очень впечатляющими, и поскольку руководство не хочет, чтобы эта структура раздувалась, не все запросы функций были реализованы.Это может показаться немного разочаровывающим, но если у вас достаточно опыта в программировании и дизайне, вы уже осознаете его потенциал.
С другой стороны, Yii по-прежнему поддерживает широкий спектр практических и реальных решений.Это несколько субъективно, но если вы посмотрите на эти часто используемые классы, вы обнаружите их силу в реальных задачах.
Документация (особенно API) серьезно настроена и очень похожа на спецификации, что может показаться вам странным и холодным в первые часы, но в долгосрочной перспективе это определенно облегчит вашу работу (в отличие от тех модных документальных приятелей, которые люблю подружиться в сигнатурах методов).
Все это способствует увеличению времени разработки.Люди способны создавать серьезные приложения за несколько недель!
За полтора года использования Yii у меня было около 15 сайтов в сети, все они работали безупречно и быстро, а с помощью Yii их создавать было очень легко.И большинство сайтов не тривиальны, это большие реальные сайты.Могу предоставить ссылки, если попросят.
Поэтому я могу вас заверить, что выбрав Yii, вы обязательно сможете создать любой сайт, который захотите, и это будет быстро и безопасно.
Практически каждый современный веб-фреймворк имеет отличную поддержку XHR/Ajax.На самом деле все сводится к вашим личным предпочтениям, основанным на ваших текущих знаниях языка, и какой фреймворк вам понравится больше всего.
Я бы также посоветовал Kohana, поскольку она довольно стабильна, зрела и имеет отличную поддержку.
Вы этого не узнаете, пока не поиграетесь с фреймворком. Я предлагаю окунуться в некоторые из них.