Справі час, фреймворку годину
І відразу важлива інформація для тих, хто планує вивчати який-небудь фреймворк, роблячи на ньому бойової проект.
Є велика різниця між особистим сайтом про котиків, який ви неспішно пиляйте по вихідним, і терміновим замовленням від клієнта веб-студії. Ця різниця - кількість часу, який ви готові витратити на проект.
Вивчення чогось нового завжди займає деякий час. Плюс в реальності перед нами часто постають завдання, які слабо, а то і зовсім не висвітлюються в матеріалах для початківців. Плюс через недосвідченість ми робимо помилки. Плюс. Загалом, ви вже зрозуміли: первинну оцінку термінів у разі використання нового інструменту можна сміливо множити на три. Помножили? Все ще вписується в терміни? Тоді відмінно. В іншому випадку відкладіть знайомство.
Припустимо, що з часом у нас все добре, і продовжимо.
Чи не PHP єдиним
Перш за все, потрібно визначитися з мовою програмування. Тут немає ніяких рекомендацій, крім вашого власного досвіду / досвіду вашої команди і вимог майбутнього проекту.
З досвідом все зрозуміло. Це знання синтаксису мови, його можливостей і обмежень. Якщо є час (див. Попередній пункт), можна вивчити і абсолютно нову мову.
Багато веб-розробники, що почали свою професійну діяльність з вивчення PHP. залишаються вірними йому і через багато років. Так, PHP простий у вивченні. Так, він практично універсальний. Однак цій мові повно альтернатив. У деяких випадках набагато вигідніше використовувати щось інше. Тут і стане в нагоді знання вимог проекту.
Ось кілька прикладів. Якщо ви плануєте веб-сервіс, який буде працювати в реальному часі (наприклад, чат або багато користувачів гру), то почитайте про Node.js або Erlang. Хочете швидкого процесу розробки і простоти коду? Зверніть увагу на Ruby. У корпоративних додатках, де потрібен захист призначених для користувача даних, прекрасно показують себе рішення на базі Java J2EE. Якщо вашому додатку потрібні висока швидкість виконання і багатопоточність, то, можливо, вас зацікавить набирає популярність мову Go.
Knee-deep in frameworks
Тепер знайдемо фреймворки для вибраної мови. Ви можете подивитися на цю сторінку вікіпедії - там перераховано більшість фреймворків для різних мов програмування. На сторінці також є таблиці порівнянь фреймворків, звідки можна почерпнути масу корисної інформації.
Очі розбігаються, чи не так? З одного боку, така кількість доступних варіантів небагато лякає. З іншого боку, це означає, що на ринку є інструменти на будь-який смак і колір. А раз так, то серед можливих варіантів ви з великою часткою ймовірності знайдете Той Самий Фреймворк, який надовго стане вашим вірним помічником.
Далі нам потрібно озброїтися гуглом і відвідати офіційні сайти фреймворків, а також сайти ком'юніті - спільнот, які утворилися навколо кожного інструменту. Що ми хочемо дізнатися в першу чергу:
- розмір і активність ком'юніті. Чим більше ком'юніті, тим популярнішими фреймворк. Чим активніше співтовариство, тим простіше і швидше знайти допомогу.
- якість і доступність документації. Більше документації - простіше освоєння інструменту. Якщо тільки ця документація не написана дубовою мовою, що заважає навчанню. Якщо ви не в ладах з англійським, приділіть особливу увагу пошуку російськомовної документації (до речі, те ж саме відноситься і до ком'юніті).
Незайвим буде ознайомитися зі списком компаній, що використовують фреймворк. (Вже одне наявність цього списку говорить про те, що інструменту довіряють.) Які послуги надають ці компанії? Чи схожі ці послуги на ті, що будуть надавати ваші програми?
В ході пошуків не забувайте прислухатися до себе. Комфорт і задоволення від роботи з інструментом, який вам подобається, ні з чим не порівняти.
10 критеріїв вибору фреймворка від творців Symfony2
На сайті фреймворку Symfony2 перераховані наступні десять критеріїв вибору підходящого веб-фреймворку.
наостанок
Від вибору фреймворка залежить багато чого, але не все. Якщо в процесі розробки виявиться, що обраний інструмент не зовсім підходить для поточного проекту, не потрібно впадати у відчай. Зрештою, фреймворк - лише каркас, що задає правила побудови додатків. Зі скрутних ситуацій завжди можна вийти, використовуючи звичайні бібліотеки функцій і засоби мови. Можливо, що вийшов код буде не надто охайним, зате ви зумієте закінчити проект.