19
БУДЬ ПРОГРАМІСТОМ В FRONT END Роман Якобчук

JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Embed Size (px)

Citation preview

Page 1: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

БУДЬ ПРОГРАМІСТОМ В FRONT END

Роман Якобчук

Page 2: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Чим я займався останні пару років■ Ruby on Rails■ Ember■ ExtJS

■ NodeJS■ React – курси, розробка, консалтинг

Page 3: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Хто з вас знає:

■ Хоча б 3 алгоритми сортування?■ Як оцінюється складність алгоритмів?■ 5 різних структур даних?■ Що таке GRASP паттерни?■ 5 GOF паттернів?■ 3 базових принципи OOP/FP?

Page 4: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Вчіть основи

@hisham_hm

Page 5: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Що використаємо в проекті на React?

Page 6: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Бізнес-логіка?

■ Flux/Reflux/Flummox/Fluxxor…■ Elm■ RxJS/Bacon/Kefir■ Redux■ Relay■ MobX

Page 7: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Reactive? Продано

Page 8: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Давай розберемось

■ Що таке ”Реактивність”?■ Яка вона буває?■ Ага, MobX – явно OOP■ А що там в FP?■ FRP? RxJS, монади, стріми, їх комбінації…■ Якщо спростити?■ Redux ?!

Page 9: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Що я про все це думаю?

Page 10: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

MobX vs Redux === OOP vs FP

Page 11: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

In a fight between a bear and an alligator, the terrain determines the outcome

Page 12: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Трохи OOP паттернів

@WarAngel_alk, https://habrahabr.ru/post/210288/

Page 13: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

FP паттерни?

 ©Scott Wlaschin, NDC Conferences

Page 14: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Чудно, отже вчити менше?

@timyrik20, https://habrahabr.ru/post/188010/

Page 15: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Задачі в FP

■ Як і де працюємо з сайд-ефектами■ Нормалізовані чи денормалізовані дані■ Які структури даних■ Композиція функцій

Page 16: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Задачі в OOP

■ Декомпозиція■ Розподіл даних та стану по об’єктам■ Проектування системи, GRASP/GOF

Page 17: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

OOP vs FP

■ FP: розділити данні та поведінку. Функкції для обробки та перетворення даних

■ OOP: об’єднати шматки даних та поведінки по сутностям – об’єктам• Whenever I write some code to deal with data about people then functional

programming seems to work best.• Whenever I write some code to simulate people then object-oriented

programming seems to work best.

http://blog.fogus.me/2013/07/22/fp-vs-oo-from-the-trenches/ Michael Fogus, author of “Functional JavaScript”

Page 18: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Розширюйте світогляд

■ Вчіть незнайомі фреймворки■ Практикуйте нові парадигми■ Розв’язуйте фундаментальні задачі■ Освоюйте різні мови■ Розробляйте під інші платформи■ Вчіть матчастину)

Page 19: JS Lab2017_Роман Якобчук_Почему так важно быть программистом в фронтенде

Робіть круті проекти

Роман ЯкобчукSkype: r.iakobchukEmail: [email protected]: facebook.com/IakobchukRoman