Разработчик Накассони Бернардо столкнулся с проблемой, распространенной на предприятиях, независимо от того, какая отрасль: модернизация устаревшего веб -приложения. Многие из более старых веб -интерфейсов не использовали фреймворки JavaScript и не имели возможностей, которые имеют сегодня разработчики.
«Вам действительно трудно перенести эти устаревшие приложения, потому что они действительно решают проблему, которую они столкнулись в тот день, и, в некоторой степени, все еще можно использовать для некоторых проблем, которые у них сегодня», — сказал Бернардо. «Вы не можете просто сказать:« Я собираюсь избавиться от того, что они использовали в это время, чтобы начать использовать новую, современную структуру ». Это просто не работает, потому что вы должны нарушить все, что там есть, и вы также должны восстановить все с нуля ».
Проблемы обновления устаревших приложений
Необходимость использования TypeScript является еще одним осложнением, потому что его необходимо переносить в JavaScript.
«Это когда все становится очень тяжелым, особенно когда вы имеете дело с этими устаревшими системами», — сказал он. «Модернизация тех приложений, необходимых для вас нет Чтобы использовать эти новые подходы JavaScript, что означает, что вам нужно придерживаться чистого JavaScript. Тем не менее, вам нужно принести те функции, которые предоставляют все новые инструменты JavaScript, например, как управление государством ».
Например, у него было одно приложение, которое датировалось 2003 году, но оно все еще решило проблему организации. По этой причине компания хотела добавить несколько новых функций, не нарушая ядро.
Бернардо нашел ответ в ванильном JavaScript, который он использовал при создании новой структуры с открытым исходным кодом, называемым Still.js (примечание редактора: intle.js также был названием статического генератора сайтов на основе реагирования, который теперь архивируется). Структура позволила ему принести такие функции, как те, которые были включены в React, Angular или Vue.js, без повторного переворота кода. По-прежнему.
«Он предлагает легкий, но мощный подход к структурированию приложений, обеспечивая улучшение обслуживания и масштабируемости без введения сложного уровня абстракции», — написал Бернадо в среднем посте о Still.js. «С помощью Still.js вы получаете гибкость необработанного JavaScript, получая выгоду от организованного и эффективного рабочего процесса разработки».
Все еще
По -прежнему имеет другие приложения. Например, его можно использовать для модернизации более старого React или углового применения, опять же, не нарушая устаревший код.
В то время как вы не можете легко объединить рамки, такие как React, Angular и Vue.js, вы можете интегрировать их с помощью Still.js. Бернардо объяснил, что это связано с тем, что все еще.
«Если вы используете React и пытаетесь объединить его с Angular, вы должны найти способ также объединить инструменты, которые они имеют за этими вещами, чтобы запустить свои приложения, но все же. JS не говорит вам об этом», — сказал Бернардо. «Вам не нужно использовать какой -либо инструмент, потому что это ванильный JavaScript».
Он также может сочетаться с другими техническими стеками, включая приложения, которые используют Java, Classic ASP или даже PHP, добавил он.
Архитектура и другие подробности
Лента. [in] То, как он обрабатывает и обрабатывает компоненты, поскольку у него нет процесса пакета/строительства », — согласно документации Still.js.
Still.js использует архитектуру, называемую сервисом, контроллером и представлением. Изображение через веб -сайт Still.js.
Сервис предоставляет данные для представления и заботится о транзакциях, таких как HTTP -запросы. Контроллер служит представлению с различным поведением и реализацией DOM. Просмотр отображает все, что нужно показать пользователю.
Intle.js полагается на объектно-ориентированные принципы, сказал Бернардо новому стеку. Когда дело доходит до государственного управления, он предлагает управление местным государством и глобальное управление государством.
«В Still.js у вас есть эти государственные свойства или переменные состояния для ваших компонентов, что связано с самим компонентом, локально, как он будет работать», — объяснил Бернардо.
React представил виртуальный DOM как легкое представление в памяти фактического DOM. Он предоставляет способ обновлять пользовательский интерфейс реактивным образом, но все же. JS избегает таких искусственных слоев, сказал он.
«Если вы начнете приносить больше слоев и слоев, то в некоторой степени вы будете повлиять на производительность», — сказал он. «Я не говорю, что они не решают проблемы с производительностью в React, но я говорю: необходимо ли это, когда речь идет об обновлении пользовательского интерфейса? Поскольку это не нужно, давайте постараемся избежать таких реализаций».
Другие способы все еще.
Другие рамки имеют процесс строительства или компиляции, особенно если есть необходимость транспилировать типовойпис в JavaScript.
«Они получают это время обработки, чтобы преобразовать все, что вы написали, в то, что должно быть оказано в браузере», — сказал он. «У нас нет этого на месте.
Структура использует регулярные выражения для изучения шаблонов. 80% того, что находится в шаблонах, будет ванильным JavaScript, добавил он. Есть несколько специальных директив, однако, для HTML. Интерпретатор Still.js переводит их во что -то, что понимает браузер, объяснил он.
«Так работает процесс рендеринга, но это все, что на самом деле. JS», — сказал он. «Нет другой структуры, используемой в целях рендеринга».
80% того, что находится в шаблонах Still.js, будет ванильным JavaScript.
— Накассони Бернардо, создатель Still.js
По словам Бернардо, все же. Это делает его «идеальным для команд и разработчиков, которые предпочитают прямой доступ к нативным веб-технологиям без каких-либо компромиссов в дополнение к этим современным функциям, которые обеспечивает веб-структура»,-написал он.
Неудивительно, что, учитывая, почему он был создан, все же. JS подходит для предприятия и сложных приложений.
«Веб-приложения корпоративного уровня требуют не только богатых функций пользовательского интерфейса. Им требуется: модуляризация, управление разрешениями пользователя, маршрутизация компонентов, валидация, разделение заботы, управление коммуникацией, архитектура микрофронтенда (например, внедрение и взаимодействие фронта) и многое другое»,-написал он. «Все же. JS поддерживает все эти функции изначально без бремени борьбы, увеличивающего время сборки и потенциальную сложность или даже накладные расходы».
Тем не менее. Структура позволяет разработчикам встраивать компоненты. Бернардо также подробно остановился на микроформке в учебном видео на YouTube.
По -прежнему компоненты продавца
Still.js предлагает пользовательский интерфейс на основе компонентов и шаблон на основе HTML. Он имеет встроенные обозначения/директивы, поток разрешений пользователей, управление состоянием компонентов, глобальное управление государством, маршрутизацию и проверку форм.
Это даже предлагает некоторые вещи, которые реагируют.
«Если вы поднимаете маршрутизацию в React, вы не можете добавить такие передачи данных при маршрутизации, вам необходимо зависеть от управления государством», — сказал Бернардо. «Вы собираетесь подтолкнуть эти данные, скажем, в какую -то библиотеку управления государством Redux, а затем инструмент для братьев и сестер должен перейти в Redux, чтобы проверить все, что есть, а затем начать обработку данных оттуда».
Тем не менее.
Он также предлагает функцию, называемую компонентами поставщиков, которая является тем, когда веб -разработчику нуждается в функции, которая не является частью ядра фреймворка. До сих пор их есть лишь некоторые из них, но компоненты поставщиков позволяют разработчикам создавать возможности с новым компонентом — и тогда этот компонент может быть доступен для повторного использования.
Illce.js также предлагает уникальный подход к встроенной аннотации, используя комментарии JSDOC и JavaScript, не для документации, а для динамического добавления функций во время выполнения, объяснил он на веб-сайте Still.js. JSDOC также используется для печати и подсказок типа, что позволяет большинству функций типовойписны, хотя он добавляет, что «типирование, как правило, необязательно, за исключением конкретных случаев, когда это требуется».
По словам Бернардо, в Still.
«Это очень зрелая структура, но все же это молодой, хотя вы можете построить очень большие и сложные вещи», — сказал он. «Мы действительно открыты для любой идеи, любой вклад».
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Loraine Lawson — ветеран -репортер, который в течение 25 лет освещал технологические проблемы от интеграции данных до безопасности. Прежде чем присоединиться к новому стеку, она работала редактором Banking Technology Site Bank Automation News. Она … читайте больше от Лорейн Лоусон