JS Frameworks в перспективе проекта и бизнеса

Yuriy Dadichin

Levi9

Почему я на сцене

Чем важным/стоящим можно поделиться?

  • Пересказывать документацию - пошло
  • Я не разработчик ни Angular, Angular2, REACT(Flux|Redux) или хотя-бы Ember2 даже не Ember 1.х на худой конец 
  • Есть только опыт и мысли

О весьма типичном опыте и расскажу

Адмирал Ясен Буй???

Типичный ~ Паттерны

  • У всех на виду просто не озвучены
  • Почти как GoF, только глобальней
  • глобальней чем MVC, MVVM e.t.c.
  • не совсем технические
  • но паттерны

 

Chapter 1

Product

(тип как у Тарантино в 8-ке)

Как-то раз в Германии стартуя новый проект в 2014(Март) году

Обсуждая Tech scope c Willi

Willi поставил требования

  • Аще быстро должно работать
  • Пожизненная поддержка выбранного FW vendor'ом
  • минимальная нагрузка на сервер(они на РНР все рендерели)
  • На века должно быть сделано

Я возразил мол:

"Не парься все равно через 3-4 года наново переписывать"

Спайк

$ vs Backbone vs Angular vs Ember

для

100500 форм по 15+ полей и по 1000+ записей таблицы

Angular - избыточный, так как таблицы без биндинга, формы требовали в общей сумме 7 инпут-директив, высокий порог входа для РНРников

Ember - те же контр-аргументы, что и к Angular + не диктовал строгой структуры приложения, реализуя биндинги очень смело правил DOM 

$ - заманчиво :) но предидущая версия продукта уже такая 

Backbone

  • прост для РНР
  • очень прост для тех кто знает $
  • лёгкий
  • очень быстрый если у тебя на странице ничего не происходит как оно и бывает с формами и таблицами по умолчанию 
  • лабуда услышанная ранее на конфах

Это было не лучшее решение

С технической точки зрения всё ОК

  • формы валидируются
  • таблицы пейджатся
  • юнит-тесты зелёные 
  • модули - стойняшки
  • руты/сабруты
  • осталось штопать 100500 форм/таблиц...

Штопать 100500 форм/таблиц, здорово командой

 

Начался найм

Внезапно

После 15 интервью стало ясно:

  • любители JS слабо знают JS core
  • никто не хочет работать даже за хорошие деньги, только "развиваться" - быть актуальным на рынке 
  • только техно-мейнстрим, никакая техническая аргументация и идея проекта не спасают

Проект затянулся - нехватка рук/голов

+2.5 Exp.

Chapter 2

Business guys

C этими вообще просто

Им все равно что под капотом

Достаточно

  • покрывает ТЗ

  • товарный вид

  • надежда безболезненного апдейта до cледующей версии  Angular -> Angular2

  • формальное техническое обоснование Вашего выбора

+2.5 Exp.

Chapter 3

Choice

Как угадать завтрашний мейнстрим?

Vendor

  • не всегда(Polymer, Dart)

  • не все(Mozilla, Yandex)

  • но всегда порядок с доками и супортом

Сообщество

  • определяет мейнстрим

  • но есть задержка, может зависеть vendor'а

Конференции

  • определяет мейнстрим

  • есть задержка, может зависеть vendor'а

  • хорошие решения gulp/grunt

Просто взял(а) и полюбил(а)

Интерактив

Angular 1.x

Angular 2

Ember 2.x

(New applications should begin using Ember 2.0 today)

React(Flux/Redux)

Aurelia

Ответ на следующем слайде

Angular 2

Вопросы?

Made with Slides.com