Jump to content

Recommended Posts

Добрый вечер.

Подскажите пожалуйста какие фреймворки сейчас (и в будущем) популярны.

А также поделитесь пожалуйста понятными учебниками по этим фреймворкам.

Заранее спасибо.

Link to post
Share on other sites

Сейчас самыми популярными являются:

  • Yii (особенно ожидаемый выход 2.0 версии с отакзом от различного шлака и кривого названия методов и классов в неймспейсах)
  • Symfony (слова излишни, наиболее расширяемый бундлами)
  • CodeIgniter (более простой чем выше 2 перечисленных)

Все они обладают MVC архитектурой. На официальном сайте каждого уйма документации от а до я.

Link to post
Share on other sites

Из личного опыта понял, что во фреймворках много всего бесполезного. 80% все года просто не будет задействовано. А те 20% = времени за который вы более менее выучите php, так что лучше уж написать самому небольшую CMS.

Link to post
Share on other sites

 

 

Из личного опыта понял, что во фреймворках много всего бесполезного. 80% все года просто не будет задействовано. А те 20% = времени за который вы более менее выучите php, так что лучше уж написать самому небольшую CMS.

Начинать работать с фреймворком не зная "более менее" пхп - это я даже не представляю как это) Да, там есть возможности, которые не будут использованы, но если ваш сайт больше чем из 3 страниц и 2 модулей, и планируете расширять его возможности, то фреймворк - мастхэв. Он позволяет значительно сэкономить время. Думаю, уже мало кто представляет работу с интерактивным сайтом без жквери.

 

Сам юзаю codeigniter - разобраться проще некуда. Есть хорошая документация на русском http://cidocs.ru/. Но как это обычно бывает, лучше пользоваться официальной 

Link to post
Share on other sites
  • VIP

Из личного опыта понял, что во фреймворках много всего бесполезного. 80% все года просто не будет задействовано. А те 20% = времени за который вы более менее выучите php, так что лучше уж написать самому небольшую CMS.

 

Не соглашусь с вами, я использую YIi больше года, рутинной работы меньше процентов на 60, чем писать на собственных велосипедных MVC, не важно какой бы она крутой не была, плюс к этому безопасность, методы валидации, маршрутизация. У фреймворков миллионы бесплатных тестировщиков (все пользователи), а у вас он будет один, поэтому нельзя сравнить качество самописного каркаса с  популярным фреймворком. Плюс Кэширование с помощью которого ваше приложение будет работать быстрее любой самописной CMS и если вы что-то в этом не используете, то это не значит что код замедляет работу вашего кода ( autoload придуман 10 лет назад). Ко всему добавим тысячи крутых бесплатных расширений на официальном сайте. http://www.yiiframework.com/extensions/

 

Из понятных учебников на Yii  книга Макарова на русском http://ru.yiicookbook.org/

Активное русскоязычное сообщество http://yiiframework.ru/

 

 

Если ты новичок посоветую учить Codeigniter Изучить MVC для начала.

Далее Yii или Laravel, Symfony и Zend оставьте бородатым дядькам  :)

Link to post
Share on other sites

Не соглашусь с вами, я использую YIi больше года, рутинной работы меньше процентов на 60, чем писать на собственных велосипедных MVC, не важно какой бы она крутой не была, плюс к этому безопасность, методы валидации, маршрутизация. У фреймворков миллионы бесплатных тестировщиков (все пользователи), а у вас он будет один, поэтому нельзя сравнить качество самописного каркаса с  популярным фреймворком. Плюс Кэширование с помощью которого ваше приложение будет работать быстрее любой самописной CMS и если вы что-то в этом не используете, то это не значит что код замедляет работу вашего кода ( autoload придуман 10 лет назад). Ко всему добавим тысячи крутых бесплатных расширений на официальном сайте. http://www.yiiframework.com/extensions/

 

Из понятных учебников на Yii  книга Макарова на русском http://ru.yiicookbook.org/

Активное русскоязычное сообщество http://yiiframework.ru/

 

 

Если ты новичок посоветую учить Codeigniter Изучить MVC для начала.

Далее Yii или Laravel, Symfony и Zend оставьте бородатым дядькам  :)

Соглашусь по поводу качества кода и его тестирования и готового api, однако не соглашусь с предположением о том, что работать приложение на фреймворке будет быстрей любой самописной cms - это достаточно спорный вопрос. Autoload не решает вопроса на корню - да, по запросу он подгрузит необходимые пространства имен с классами, но что мешает сделать аналогичное в cms? Проблема то занимаемого объема памяти при линковании классов это уже второй вопрос...

Link to post
Share on other sites
  • VIP

 

 


Проблема то занимаемого объема памяти при линковании классов это уже второй вопрос...

Да Фреймворки используют много памяти, но зачем этого бояться?

Быстрее работу фреймворка делает кэшинг, а не autoload, конечно он помогает только при render - е, при работе сайтов, а для API скажем которое не генерирует никаких view это да будет, самописка будет работать быстрее, но это к CMS никак не относится и писать это добро вообще на PHP не нужно ИМХО, везде где нет render-a перешли на node.js.

Link to post
Share on other sites

везде где нет render-a перешли на node.js.

Что значит "где нет render-a"? Если его нет, то возможно и не нужен веб фреймворк, а достаточно компилируемых языков. Если есть сайт, сервис, все что угодно, что должно отдаваться в браузер, тем или иным образом будет отрендерино в браузере. 

 

 

 

Да Фреймворки используют много памяти, но зачем этого бояться?

 

Совсем не обязательно. В зависимости от реализации. Реализация простой гостевой на Друпале или ВП будет намного больше кушать памяти, чем идентична на кодеигнитере, например. 

Link to post
Share on other sites

Да Фреймворки используют много памяти, но зачем этого бояться?

Быстрее работу фреймворка делает кэшинг, а не autoload, конечно он помогает только при render - е, при работе сайтов, а для API скажем которое не генерирует никаких view это да будет, самописка будет работать быстрее, но это к CMS никак не относится и писать это добро вообще на PHP не нужно ИМХО, везде где нет render-a перешли на node.js.

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

 

Что значит "где нет render-a"? Если его нет, то возможно и не нужен веб фреймворк, а достаточно компилируемых языков. Если есть сайт, сервис, все что угодно, что должно отдаваться в браузер, тем или иным образом будет отрендерина в браузере. 

Возможно под рендерингом автор понимал динамическое формирование каркаса html, а не преобразование оного в графический объект ... Если нет динамического преобразования каркаса, вам не то что фреймворк не нужен, вам чистого html хватит  :)

Link to post
Share on other sites
  • VIP

 

 


Что значит "где нет render-a"? Если его нет, то возможно и не нужен веб фреймворк, а достаточно компилируемых языков. Если есть сайт, сервис, все что угодно, что должно отдаваться в браузер, тем или иным образом будет отрендерина в браузере. 

У вас кругозор веб-приложений заканчивается браузером, это думаю каждому понятно если что-то отдается в  браузер значит и рендериться будет.

Вы занимались разработкой бэкенда для мобильных приложений ? Вот будете вы на плюсах его писать? 

Link to post
Share on other sites
  • VIP

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

 

Да здесь никакая скорость не является существенной

Проблема то занимаемого объема памяти при линковании классов

Не вот это, не скорость загрузки классов, это все сотые доли секунд, На скорость работы действительно влияют  сервер , использование CDN, кэшинг mysql. Мир уже давно ценит время разработчика дороже чем эти миллисекунды, а его нам помогают сохранять ( избавляя от рутинной работы ) фреймворки, а никак не самописные, велосипедные каркасы. ТС совет изучайте фреймворки.

Link to post
Share on other sites

У вас кругозор веб-приложений заканчивается браузером, это думаю каждому понятно если что-то отдается в  браузер значит и рендериться будет.

Вы занимались разработкой бэкенда для мобильных приложений ? Вот будете вы на плюсах его писать? 

Ну ведь формируя ответ от сервера вы все равно что-то отдаете json, xml. Это ведь теже заголовки и боди. Это разве не рендер. Если под Бекендом вы подразумевали стенелоне приложение,  тут понятное дело. И то формы и т.д все равно отрисовываются.  

Link to post
Share on other sites

 

 


Да здесь никакая скорость не является существенной

Опять же, не совсем согласен. Как пример - при использовании symfony загрузка определенной страницы у меня составляла ~0,2 секунды, а при использовании twig и своего велосипеда с квадратными колесами - 0,07сек (разница чуть более 100%) - а загрузка страницы юзером при использовании CDN - ~0,8сек. В итоге выходит экономия в ~20% времени. Разве это не существенно?

Link to post
Share on other sites
  • VIP

 

 


Ну ведь формируя ответ от сервера вы все равно что-то отдаете json, xml. Это ведь теже заголовки и боди. Это разве не рендер. Если под Бекендом вы подразумевали стенелоне приложение,  тут понятное дело. И то формы и т.д все равно отрисовываются.  

 

Никакие формы не отрисовываются, вы не поняли о чем я.

Ну к примеру смотрите.

Приложение на Андроиде отправляет мне запрос типа, -- дай мне всех друзей данного пользователя

Я проверю accessToken  if allright отдаю ему массив json со списком его друзей. Здесь кэш не играет никакого значения ( ну не о mysql кэшинге идет речь). Здесь render не требует больших ресурсов, ну никаких почти ресурсов он не требует.

 

А если я формирую страницу с графиками и картинками WISIWYG в придачу, тут вот и выходит на арену кэш .Скорость загрузки, экономия трафика, вот что делает кэш. А здесь рендер занимает много ресурсов, а ресурсы в 21 веке экономить надо.

Link to post
Share on other sites

 

 


Я проверю accessToken  if allright отдаю ему массив json со списком его друзей. Здесь кэш не играет никакого значения ( ну не о mysql кэшинге идет речь). Здесь render не требует больших ресурсов, ну никаких почти ресурсов он не требует.

А, так тут понятно дело, что кэш не играет никакого значения. Согласен на 100%. Снимаю шляпу. 

Link to post
Share on other sites
  • VIP

Опять же, не совсем согласен. Как пример - при использовании symfony загрузка определенной страницы у меня составляла ~0,2 секунды, а при использовании twig и своего велосипеда с квадратными колесами - 0,07сек (разница чуть более 100%) - а загрузка страницы юзером при использовании CDN - ~0,8сек. В итоге выходит экономия в ~20% времени. Разве это не существенно?

 

Ваш тест не объективен, сравнивать нужно работу всего приложения, может у вас просто так вышло, просто может вы запросы к базе разные написали, может быть все что угодно. Я symfony не юзал, говорят что чем дольше работает приложение на нем, тем оно быстрее. Насчет Yii могу добавить что у него самый быстрый старт из всех популярных  фреймворков  :)

Link to post
Share on other sites

Насчет Yii могу добавить что у него самый быстрый старт из всех популярных  фреймворков  :)

Это откуда, интересно, такая информация? Кохана ничем не "медленнее"  :P

Link to post
Share on other sites

Ваш тест не объективен, сравнивать нужно работу всего приложения, может у вас просто так вышло, просто может вы запросы к базе разные написали, может быть все что угодно. Я symfony не юзал, говорят что чем дольше работает приложение на нем, тем оно быстрее. Насчет Yii могу добавить что у него самый быстрый старт из всех популярных  фреймворков  :)

Это вовсе не тест, а субъективные данные по определенной странице с одинаковым функционалом.

Предположение о том, что чем дольше работает приложение тем оно быстрее - на корню ошибочно, ведь количество данных будет только увеличиваться, что противоречит простой логике (объем -> скорость обработки). Быстрей будет работать только после создания первой кешированной версии, но не более.

Link to post
Share on other sites
  • VIP

Предположение о том, что чем дольше работает приложение тем оно быстрее - на корню ошибочно, ведь количество данных будет только увеличиваться, что противоречит простой логике (объем -> скорость обработки). Быстрей будет работать только после создания первой кешированной версии, но не более.

 

Я читал про многоуровневый кэшинг в этом фреймворке, это я имел ввиду. не могу с вами спорить, не работал с symfony, ну насчет количества данных вы надеюсь пошутили  ;)

Как знаток фреймворка посоветуйте хорошее пособие по симфони, книги, видеоуроки, просто уроки, где и как учить, думаю ТС в выборе фреймворка эта информация пригодиться.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...