Вопрос или проблема
Недавно я столкнулся с проблемой на работе, когда огромное корпоративное приложение застряло на Angular v6 из-за того, что пользовательский интерфейс использует внешнюю библиотеку (SmartAdmin), которая больше не поддерживается. В результате из-за устаревших зависимостей сборка время от времени ломается. В настоящее время нет другого варианта, кроме как переписывать 🙁
Кто-нибудь знает библиотеки пользовательского интерфейса, которые не зависят от других фронтенд-фреймворков (например, React, Angular)?
Вы можете попробовать библиотеку компонентов Syncfusion Angular
https://www.syncfusion.com/angular-components
Syncfusion также предлагает бесплатную лицензию для сообщества. https://www.syncfusion.com/products/communitylicense
Примечание: Я работаю в Syncfusion
Ответ или решение
В условиях постоянно меняющейся технологической среды и необходимости поддержания актуальности программных решений, вопрос о выборе независимых от фреймворков библиотек пользовательского интерфейса становится особенно актуальным. Многие предприятия сталкиваются с проблемами, когда их приложения застревают на устаревших версиях, как это произошло с вашей ситуацией, связанной с использованием библиотеки SmartAdmin и Angular v6.
Независимые библиотеки пользовательского интерфейса
Выбор UI-библиотек, которые не зависят от конкретных фреймворков, может существенно снизить риски, связанные с поддержкой и обновлением зависимостей. Рассмотрим некоторые популярные и проверенные решения:
-
Vanilla CSS Frameworks
- Bootstrap: Это один из наиболее популярных фреймворков CSS, который можно использовать без привязки к конкретным JavaScript фреймворкам. Он предлагает множество компонентов, которые легко интегрируются в любое приложение.
- Tailwind CSS: Этот утилитарный CSS-фреймворк предоставляет гибкие классы для быстрой стилизации элементов. Он также не зависит от какого-либо JavaScript фреймворка.
-
UI компоненты на чистом JavaScript
- Web Components: Это набор стандартов для создания пользовательских компонентов, которые могут использоваться в любом приложении, независимо от фреймворка. Они инкапсулируют HTML и CSS, а также могут взаимодействовать с JavaScript.
- Lit: Легкий библиотека для создания веб-компонентов, которая значительно упрощает процесс разработки UI, обеспечивая отличную производительность и простоту использования.
-
Системы компонентов
- Element UI: Хотя изначально она была разработана для Vue.js, с помощью простого JavaScript кода можно интегрировать её в любое приложение благодаря возможности создания кастомных компонентов.
- UIkit: Это модульная библиотека, которую легко использовать и адаптировать под любые нужды, также не связываясь с конкретным фреймворком.
-
Библиотеки с поддержкой различных фреймворков
- Syncfusion: Как упоминается в вашем вопросе, эта библиотека предлагает широкий спектр компонентов для разработки интерфейсов. Она предоставляет высококачественные и масштабируемые элементы для использования в веб-приложениях и поддерживает множество технологий.
Почему важно выбирать независимые библиотеки?
Выбор независимых UI-библиотек позволяет:
- Упростить обновление приложения: Когда ваше приложение не связано с конкретным фреймворком, изменения в одной части системы не тянут за собой обновление всех зависимостей.
- Расширить возможности интеграции: Вы можете сочетать разные технологии и фреймворки, что облегчает использование лучших из них для решения конкретных задач.
- Уменьшить риски: Устаревшие зависимости — это потенциальные уязвимости системы. Независимые библиотеки способствуют удержанию системы на современном уровне безопасности.
Заключение
Учитывая вашу текущую ситуацию, я настоятельно рекомендую рассмотреть указанные выше библиотеки и фреймворки. Независимые от JavaScript фреймворков UI-библиотеки могут значительно упростить вашу работу и улучшить устойчивость приложения ко времени. Не забывайте обращать внимание на лицензионные соглашения и уровень поддержки, чтобы выбор был оптимальным для вашего бизнеса.