1 Востаннє редагувалося ktretyak (03.11.2014 15:01:58)

Тема: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Коли я створював самописний рушій для форума (на Kohana 3.3.1), то стикнувся з проблемою роботи зі складними php-вьюхами, коли кількість вкраплень змінних вимірюється десятками, а не одиницями. В такому разі читабельність коду дуже сильно страждає.

Звичайно ж, я знаю про php-шаблонизатори типу Mustache і т.д., але вони, як мені здається, вирішуючи проблему читабельності, створюють іншу проблему - продуктивності та необхідності додаткового вивчення їх синтаксису.

А тому я почав вже дивитись в бік JavaScript-шаблонізаторів для вьюх, точніше - в бік AngularJS. Хоча це теж потребує додаткового вивчення, але продуктивність сервера не страждає, та й читабельність вьюх ще краща, ніж у php-шаблонізаторів. Поки що єдиними мінусом бачу SEO-оптимізацію, хоча зараз можливо це вже неактуально.

Як думаєте є ще суттєві мінуси в JavaScript-шаблонізаторів в порівнянні з PHP-шаблонізаторами?

2

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

буде  страждати  продуктивнiсть браузера  клiента
А  ще  бiльше страждатиме   продуктивнiсть  розробки  продукту.
вартiсть  залiза  набагато  менша  вартостi роботи  програмiста - швидше  i  дешевше  поставити  сайт на  нормальний  сервер.

Подякували: VTrim1

3

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

caballero написав:

буде  страждати  продуктивнiсть браузера  клiента
А  ще  бiльше страждатиме   продуктивнiсть  розробки  продукту.
вартiсть  залiза  набагато  менша  вартостi роботи  програмiста - швидше  i  дешевше  поставити  сайт на  нормальний  сервер.

Стосовно браузера, то зрозуміло, але то насправді можна назвати дрібницею.

Стосовно "вартості роботи програміста", то це більше стосується проблем "проект-менеджера", ніж заданого питання в темі.

4

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

ktretyak написав:
caballero написав:

буде  страждати  продуктивнiсть браузера  клiента
А  ще  бiльше страждатиме   продуктивнiсть  розробки  продукту.
вартiсть  залiза  набагато  менша  вартостi роботи  програмiста - швидше  i  дешевше  поставити  сайт на  нормальний  сервер.

Стосовно браузера, то зрозуміло, але то насправді можна назвати дрібницею.

Стосовно "вартості роботи програміста", то це більше стосується проблем "проект-менеджера", ніж заданого питання в темі.

а потім юди заліються що хром тормозить - пошкодуйте відвідувачів

5

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Djalin написав:

а потім люди заліються що хром тормозить - пошкодуйте відвідувачів

Ну якщо говорити про такі тормоза, які здатні відчути користувачі, то для цього потрібно не десятки вкраплень різних змінних, а сотні чи й навіть тисячі (кажу без перебільшень).

Якщо ж користуватись, скажімо такою функціональністю JavaScript, як у "в контакті" (в якій досить багато цього добра), то користувачі, швидше за все, не відчують дискомфорту.

6

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Стосовно браузера, то зрозуміло, але то насправді можна назвати дрібницею.

стосовно  сервера  теж.

Стосовно "вартості роботи програміста", то це більше стосується проблем "проект-менеджера", ніж заданого питання в темі.

    коли  клiент не  заплатить за  проект бо  з ньго  запросять  велику суму та  виставлять бiльши  термiни виконання це  буде   стосуватися   всiх.
   Або програмiст  змушений  буде   виконувати  лишню роботу  за  тi ж самi грошi щоби  зекономити  кiлька  мiлiсекунд  роботи  сервера.

7

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Тут згідний з 2м постом.

8 Востаннє редагувалося ktretyak (03.11.2014 16:09:22)

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

caballero, я зараз подумав, і погоджуюсь з вами, що вартість роботи проектів напряму стосується заданого в темі питання.
Зараховано.

Але мабуть тоді я уточню, що хотів би почути думки стосовно зручності розробки та оптимізації.

І якщо говорити про "дрібниці для сервера" та порівнювати з "дрібницями" для браузера користувачів, то вони рівнозначні при розгляді  один-до-одного. А якщо розглядати, скажімо 1000 користувачів за годину (що є досить реальним показником), то для сервака "дрібниці" будуть накопичуватись в проблеми...

9

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

припустімо, що далеко не всі використовують повну версію того ж контакта, у мене при 1 гігу оперативки бувають підвисання й глюки.

а є ж ще й планшети де 0,5 гіг - так досі є

10

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Djalin написав:

припустімо, що далеко не всі використовують повну версію того ж контакта, у мене при 1 гігу оперативки бувають підвисання й глюки.

а є ж ще й планшети де 0,5 гіг - так досі є

Ви вважаєте, що при перегляді ВК в пам'ять заганяється такий великий об'єм даних, що обчислюється в сотнями мегабайт? Хоча я не перевіряв, але в теорії дуже навряд чи таке є насправді.

11

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Але мабуть тоді я уточню, що хотів би почути думки стосовно зручності розробки та оптимізації.

кращий  шаблонiзатор  - сам  PHP

то для сервака "дрібниці" будуть накопичуватись в проблеми..

яким   чином вони накопичаться?    1000  на  годину - 3.6  секунди  на  кожного.   реально  сервер  вiдпрацюэ  за  кiлька  мiлiсекунд

12 Востаннє редагувалося ktretyak (03.11.2014 16:27:29)

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

caballero написав:

Але мабуть тоді я уточню, що хотів би почути думки стосовно зручності розробки та оптимізації.

кращий  шаблонiзатор  - сам  PHP

то для сервака "дрібниці" будуть накопичуватись в проблеми..

яким   чином вони накопичаться?    1000  на  годину - 3.6  секунди  на  кожного.   реально  сервер  вiдпрацюэ  за  кiлька  мiлiсекунд

Це при умові рівномірного розподілення, але якщо інколи конкуренція сягає в 100 юзерів за секунду?

13

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Це при умові рівномірного розподілення, але якщо інколи конкуренція сягає в 100 юзерів за секунду?

ну  буде раз  в  кiлька  мIсяцiв  затримка  на  секунду-пiвтори.    При  передачi данних  через iнтернет   затримки  бувают  бiльшi.
     подiбнi проблеми  називаются "економiя  на  сiрниках".

Подякували: Djalin1

14

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

caballero написав:

Це при умові рівномірного розподілення, але якщо інколи конкуренція сягає в 100 юзерів за секунду?

ну  буде раз  в  кiлька  мIсяцiв  затримка  на  секунду-пiвтори.    При  передачi данних  через iнтернет   затримки  бувают  бiльшi.
     подiбнi проблеми  називаются "економiя  на  сiрниках".

Вас послухати, то й ніколи не виникає проблеми високо навантажених проектів. Нехай не 1000, а 10 000, суть не в тому. Суть в тому, що 100% проблеми на серваку будуть накопичуватись. Чому б ці "накопичені проблеми" не роздати всім користувачам в такому вигляді, що вони й не побачать?

15

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Вас послухати, то й ніколи не виникає проблеми високо навантажених проектів.

виникає. Тільки не   у  вас.   І  не    мене.   А  в  Цукербергів. 

що 100% проблеми на серваку будуть накопичуватись.

яким  чином  вони  будуть накопичуватись?  Це ж   не  купа   смiття.  Сторінка  відпрацювала  і  відпустила  ресурси.

Чому б ці "накопичені проблеми" не роздати всім користувачам в такому вигляді, що вони й не побачать?

Вони  й  так  не  побачать.   А  те  що  ви  будете  лишні   кілька  тижнів  копирсатися  з  ангулярами   та  подібними   збоченнями - побачать.   І  ви  побачтите  бо  вам  за  цей  час   не  платимуть.

16

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Це називається масштабування. Винести всю логіку на клієнт нереально. Частину логіки - реальною
Якщо підійти до цього діла розумно можна дійсно зекономити трохи ресурсів. Але шаблони яваскріптові трохи муторна штука. Якщо ви робити аплікейшин для людей і забиваєте на SEO - тоді можна. Юзер зайшов - підгрузилось 3 поста + ще 10 постів поки він прочитав перші три.
Але якщо для гугла то хз як він все прошарить.

Порахуйте затрати на час, який ви потратите для реалізації яваскриптових шаблонів. + виправлення багів у різних бравзерах
+ затримки у клієнтів. Як не крути докинете 100 баксів і затримки з вашим сервером можна буде поділити на 2 сервака. А у клієнта як був фаєрфокс так він і є. І ви ніяк не зможете стрибнути вище якщо використовуєте яваскріпт шаблони. ;)

Ящо у вас складні вюхи на PHP вони не стануть простішими на javascript =)

Подякували: Djalin1

17

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

А як щодо нейтів коду для мейнстріймових ОС?

18 Востаннє редагувалося Djalin (03.11.2014 19:31:45)

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Сервери зараз настільки дорогі?

Ще раз - дуже часто у мене гальмує,  наразі використано 800 метрів оперативки та 300 свопу - і це на трьох вкладках - чи ви вважаєте сам браузер ніц не їсть?

Повірте навіть на частинці серверу можна тримати 5К відвідувачів навіть на вордпрессі


AMD Athlon 64 3700+
» 2GB RAM
» HDD:
2×320 GB
26.9€

19 Востаннє редагувалося ktretyak (04.11.2014 06:08:24)

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

Зрозуміло.
Тепер наступне питання, хто з вас використовував JavaScript-шаблонізатори, або хоча б поруч сидів з тими, хто їх використовував?

Ось живий приклад роботи такого сайта http://ng.docs.org.ua/api багато він у вас хаває пам'яті, чи гальмує сильніше за інші сайти?

20 Востаннє редагувалося Djalin (04.11.2014 09:22:49)

Re: PHP-шаблонізатор чи JavaScript-шаблонізатор, що краще?

я пробував геть "двигун" на джаваскриптах, не завжди працював коректно http://baikalstudio.ru/

Щодо вашого то лиза поки файли завантажились минуло 3,5 секунд - що вже більше рекомендованого, дома маю ще слабший інтернет - тому ввечері зможу сказати більше :) тут їсть десь по 40-50% процу при відмальовці - інтел коре дуо - 2,0 гігагерци

ЗюІю якщо ви зробите охайно та економно - ніхто ніц проти не матиме