is loading...

Контактна інформація:

01.

Блог

Фреймворк або фрішард?

March 12, 2018
Коментарі (0)
131
Фреймворк або фрішард?

Останнім часом з'являється безліч заявок на freelance, де замовники ставлять завдання по типу: створення інтернет-магазину Laravel або створення платформи для автогенерації на yii2 і тп. Але є одна проблема - більшість цих людей просто жахаються від цін на розробку веб-додатків, що використовують фрейми, часто зовсім відмовляючись від цієї думки.

Проблема полягає не в кількості відмов, а в тому, що більшість людей не розуміє ключової різниці між розробкою програми на фреймворку і розробкою того ж самого додатка на фрішарді.

У сьогоднішній статті ми розберемо тему: в чому різниця між розробкою програми на фреймворку або фрішарді. А також постараємося пояснити в чому різниця між фреймворком і фрішардом.

У чому різниця між фреймворком і фрішардом?

Почнемо з різниці між технологіями. Якщо вникнути в завдання веб-розробки, то можна не помітити різниці між фрішардом і фреймом. Скрізь той же самий сервер (apache, nginx) + логіка, що описує дії і відповідь на дії користувача (стек php + js + html + css). Насправді так і є. Скрізь одні й ті ж технології (мається на увазі стандартні завдання. Безумовно стек може відрізнятися в бік python або навіть C ++, java).

Тоді чому ж заходячи на один сайт ми бачимо прекрасну швидкодію і оптимізацію, а на іншому довгу і нудну роботу скриптів, які часом навіть не намагаються оптимізувати. Саме в цей момент і необхідно зазирнути за лаштунки. А там ми побачимо структуру цього додатка + базу даних. Тут мінімально можна побачити різницю між фреймом і фрішардом.

Для програміста, який знає три ключових слова: поліморфізм, інкапсуляція і успадкування і розуміє навіщо взагалі застосовують основні принципи ООП, немає ніякої проблеми побачити ключову різницю.

А звичайному користувачеві необхідно трохи розібратися. Давайте повернемося до того замовника про якого ми говорили на початку.

Почувши або прочитавши десь, що реалізувати задуманий нами проект набагато легше і простіше. Ми з ейфорією в голові знаходимо фріланс біржу і дивимося середню статистику за цінами на подібного типу проекти. Припустимо у нас інтернет-магазин Comfy. Дивимося, що в середньому за інтернет-магазин базова ставка 5000 грн. І звичайно ж, так як легше зробити на фреймі (він і швидше буде працювати ніж у цих що на фрішарді роблять) ми звичайно ж ставимо 4500 грн!

І яке ж буде наше здивування, коли замість тисячі заявок на проект, сиплеться безліч приємностей за типом «занижений бюджет». І чомусь відразу виникають думки на кшталт «Жадібні фрілансери які тільки і знають як дерти з нас гроші!». Ми забуваємо про проект, зберігши на всякий випадок своє 15 листове ТЗ на створення (ну а раптом).

На цьому історія знайомства даного замовника з фрілансом закінчена. Можливо, надалі він повернеться і перегляне свої позиції і в кінцевому підсумку отримає свої заповітний додаток. Але більше доля даного замовника нас з Вами не цікавить. Тому ми повертаємося за куліси і розбираємося в політиці цін на додатки.

Скільки коштує розробка програми на фреймворку або фрішарді?

Ключове це звичайно ж складність сайту.

Відмінність в ціні за сайт-візитку побудований на вордпресс і сайт-візитку, побудований на фреймі, буде відрізнятися тільки в тому випадку якщо необхідно реалізувати backend (адмінку). Для «програміста», що працює на WP, основним завданням буде встановити готовий додаток, який автоматом йому створить frontend + backend. Далі буде завдання інтегрувати верстку (візуальне відображення) і реалізувати функціонал. Зазвичай останній момент реалізується установкою вже готових рішень (плагінів) які фіг знає яким боком оптимізовані, якщо взагалі оптимізовані.

А яка різниця нашому «програмісту»? Ключове це отримання грошей, а отримуємо в підсумку неоптимізований додаток (сайт) який якщо не в даний момент глючить, то в найближчому майбутньому при спробі якогось розширення буде критично виснути. Здавалося б, мети ми досягли: красива тема (обкладинка) і адмін частина, яка дозволяє управляти даною обкладинкою. Але варто тільки заглянути замовнику за обкладинку і відразу все стає зрозумілим - з нього просто здерли гроші!

Загалом наше з Вами завдання зараз не розглянути всі долі «програміста», який вже 5 років як працює з WordPress-ом (досвід звичайно сарказм). Наше завдання розібратися в різниці між додатками і зробити кожному свій вибір. А для цього необхідно розглянути іншу сторону медалі - фреймворки.

У чому різниця між розробкою програми на фреймворку або фрішарде

У разі фреймворка, при установці, ми отримуємо самий звичайний набір бібліотек і просту веб сторінку. У ній немає взаємодії з сервером. Є тільки готові рішення з бібліотеки для реалізації абсолютно будь-якого функціоналу. Але в ній є основне що необхідно для якісної реалізації будь-якого проекту і подальшого його розширення. Це принципи ООП! Вам буде цікаво прочитати цю статтю: що таке ООП?

Хоч вордпресс і дозволяє використовувати принципи автоматизації. Тобто простий користувач може встановити і накидати плагінів. Але дані фреймворки породжують динозаврів-програмістів, які не вникають в принципи взаємодії на рівні байт-коду з машиною (сервером). І просто ліплять що попало. Хоча б мінімально усвідомлювали, що вордпресс - це для блогу! Кодування для БД, оптимізація на рівні запитів до БД і так далі - все це побудовано з логіки, що на движку буде запущений блог. Це просто ряд статей, рубрик і коментарів. І все!

У підсумку вийшло що саме wordpress дав розвиток такої мови як php. Але, сам опинився в прірві. Випускаючи зараз такі плагіни, як woocommerce розробники прекрасно розуміють про свою біду. Оптимізації і ніякого ООП. Так є, звичайно, сайти, та й в логіці самого фрішарду є принципи ООП. Але програмісти, які працюють з ним даних принципів не використовують. Через це у горе-програмістів виходять тонни коду, який надалі вимагає більше ресурсу від сервера. Таким чином і народжується цар балу - баг-лаг.

А фреймворк не дозволить відхилитися від принципів ООП. Вірніше, це можливо. Можна такі ж конструкції з операторами використовувати на стороні шаблонів. Але, дані конструкції не дозволять в подальшому розширювати даний проект, і горе-програміста дуже швидко вирахують. Таким чином ми бачимо, що для роботи з фреймворками програмісту необхідно підвищити свої навички - вивчити основні принципи, а саме ООП. А там, де основні принципи там і розширення, зростання як фахівця. А раптом доберуться до документації apache.

Висновок:

Таким чином у нас виходить формування ціни на розробку:

Wordpress - підійде для реалізації блогу. Не має можливості розширення до рівня якісного додатку. Плюсом є те, що з реалізацією простих додатків впорається більшість фрілансерів. Через це велика конкуренція і демпінг цін.
Yii2, angular, laraver (і т.д) - фрейм підійде для важких веб-додатків, корпоративної та комерційної сфери. Рівень додатку повністю залежить від знань програміста. Чим краще, тим більше можливостей для розширення. Необхідно базове розуміння ООП, синтаксису і конструкцій мов програмування.

Залишилося з'ясувати лише одне: чим більше логіки і функціоналу у вашому додатку, який вимагає прямої взаємодії з користувачами (фільтри, форми, генератори), тим воно складніше. Так, грунтуючись на принципах ООП його реалізувати буде простіше (логіка вище), але потрібна якісна підтримка і безліч знань.

Ось так і виходить, що якісно виконана робота буде коштувати більше грошей. Як і у всіх інших аспектах нашого з Вами життя.

Вам буде цікаво прочитати статтю: Навіщо використовувати фреймворк в розробці?

 

Залиште коментар