РозробкаПідрозділ
Фронтенд
Код, що виконується в чужому браузері, на залізі, якого ви не обирали, через мережу, на яку не можна покластися. Пʼять тем: сама платформа, мова, що на ній працює, і три фреймворки, які розвʼязали ту саму задачу — тримати екран у згоді з даними — трьома справді різними способами. Кожна сторінка про фреймворк — про його модель оновлення, а не про синтаксис, бо саме про неї доводиться думати, коли щось рендериться двічі.
Що всередині
Усі сторінки цієї групи — і про що кожна з них.
- HTML та CSSКаскад, специфічність і блокова модель — три речі, що пояснюють майже кожну верстку, яка не слухається.КаскадВерстка
- JavaScriptОдин потік, event loop і черга: чому ніщо не блокує і чому «асинхронно» — не те саме, що «паралельно».Event loopОдин потік
- ReactРендер і коміт як дві окремі фази — і чому майже кожен баг у React є нерозумінням, у якій із них ви зараз.Рендер / комітХуки
- VueРеактивність, що сама відстежує залежності: що справді спостерігається, а що — тихо ні.РеактивністьПроксі
- AngularВиявлення змін, зони й модель сигналів — найявніша з трьох і найпередбачуваніша, щойно її зрозумієш.Виявлення змінDI
З чого почати
- Починаєте фронтендHTML і CSS, потім JavaScript. Кожен фреймворк тут припускає обидва, а event loop пояснює більше багів, ніж будь-який із них.
- Обираєте фреймворкПрочитайте всі три моделі оновлення, а не списки можливостей: саме з цією різницею ви житимете щодня.
- Щось рендериться двічіСторінка вашого фреймворка, надто схема фаз оновлення. Подвійний рендер майже завжди є плутанням фаз.
Інше в цьому розділі
- РозробкаРозробка програмного забезпечення — це робота про те, де проходять межі в системі, що працює по кожен їхній бік і чого коштуватиме зсунути одну з цих меж, коли код уже працює. У розділі 28 тем: архітектура, браузер, пʼять бекенд-середовищ, чотири мобільні платформи, мовні моделі та бази даних під усім цим. Кожна сторінка тримається на обмеженні, яке справді відрізняє варіанти, а не на поверхні API.
- Мобільна розробкаПʼять способів покласти програму на телефон, і кожен визначає жорстке обмеження його платформи, а не поверхня API. Батарея, тиск на памʼять, життєвий цикл, що може вбити ваш процес будь-якої миті, і стор, що вирішує, коли поїде ваше виправлення. Саме ці обмеження відрізняють пʼятірку, і саме вони мають вирішувати вибір — мова вирішує рідко.
- АрхітектураДе проводити межі й чого коштує кожна з них. Чотири теми: дві форми, яких може набути система; міграція між ними, за яку більшість команд береться не в той момент; і контракт, що робить будь-яку межу придатною для когось іншого. Наскрізна думка: межа не безкоштовна — вона купує незалежність і бере плату затримкою, налагодженням та операційною поверхнею.
Було корисно?
Поділіться з тим, хто працює над тією ж задачею.