АКА. Приключения с Typescript, Ember и Glimmer, часть 1. Почему.. Просто.. почему вам нужно удалить всюкодовую базу, чтобы обновить веб-сайт, если вы сошли с ума сильный>?
Если вы недавно пытались посетить наш веб-сайт (https://ukjp-labs.com, да, мы отключили www, как и ваш браузер), то вы, вероятно, заметили, что он почти ничего не показывает — Просто быстрое изображение в стадии строительства, как вы можете видеть. Тем не менее, мы приложили к этому некоторые усилия, проверьте его на мобильном устройстве, и вы получите что-то другое, мы добавили медиа-запросы с точками останова для мобильных устройств, планшетов и настольных компьютеров (извините › пользователям 1080p и 4k ничего для вас не нужно), мы даже использовал scss и pug, чтобы сделать это, все так очень… гм… *кашель* 2015…!
"Но зачем удалять весь ваш веб-сайт?" Мы знаем, что, несмотря на то, что с точки зрения бизнес-логики удаление общедоступного веб-сайта не имеет смысла, наш предыдущий веб-сайт имел такую большую базу кода и был началом на момент написания статьи у вас был небольшой доступ к средствам для сервера разработки, стартапы AWS смотрели на вас *подмигивая, подталкивая подталкиванием*, было проще удалить все и начать заново, чем пытаться изменить что у нас уже было; Мы также были заинтересованы в том, чтобы отойти от нашей предыдущей базы Angular, поскольку это было не самым быстрым интерфейсом для наших пользователей, плюс, пока ничего не выдавая, запланирован ОГРОМНЫЙзапуск продукта для Великобритании и других стран. деловые партнеры, которых я завел во время своих личных поездок, в Японию (ага, UKJP — вы поняли!) на март 2019 года. Затем через месяц глобальный предварительный просмотр для разработчиков и запуск по всему миру к середине года. Нам понадобится обновленный и быстрый веб-сайт и серверные службы.
Мы изучали различные фреймворки, и два из них оказались очень интересными: Ember и Glimmerjs. Объединение этих двух фреймворков обещало простоту использования cli, такого как angular, использование машинописного текста с Glimmer — который мы уже использовали для нашей предыдущей кодовой базы, и хотя с ES6 и ES7 почти догнали Typescript с точки зрения функциональности, статической типизации и проверка типов была важна для нас и значительно облегчала навигацию по структурам кода.
Glimmer — один из самых быстрых фреймворков, он компилирует ваш код в байт-код, а затем обрабатывает его в браузере — вы можете ознакомиться с постом команды разработчиков Linkedins здесь.
Однако нашей первой проблемой оказалась маршрутизация, в стеке Glimmer не было встроенного маршрутизатора, и хотя мы могли найти несколько в Npm, мы решили создать что-то потенциально более эффективное и решили смоделировать его на основе идеи Angulars об эмиттерах, которые только начинают излучать. при подписке, поэтому сокращайте javascript, работающий в любой момент времени в браузере.
Мы также переключили нашу среду разработки с VSCode на Atom исключительно потому, что VSCode порождал так много «вспомогательных» подпроцессов, поскольку мы работаем на стольких разных языках, что это замедляло проверку типов и импорта нашего Typescript. Установив Atom, мы добавили только соответствующие аддоны, в том числе тот, что изображен на рисунке, который блокирует сотрудников через определенное время в течение 4–5 часов и заставляет их сделать перерыв — все это привело к гораздо более быстрой среде разработки.
На данный момент мы работаем над совершенствованием маршрутизатора и можем выпустить его на нашем github как отдельный проект, чтобы другие могли использовать его в проектах Routerless, Typescript, Ember и/или Glimmerjs.
Так что на данный момент это наше обновление (и первый пост!), но мы будем обновлять наши приключения (/разочарования?) в нашем приключении с очень недокументированными glimmerjs и увеличением скорости, которые они дают, фрагментами кода, модулями и, возможно, даже некоторыми советами от люди, которые ошиблись в первый раз, если мы останемся без веб-сайта.