Рубрики
Без рубрики

«Другое» JavaScript Framework

В качестве веб-разработчика вы услышали гудение угловых (1, 2 и 4), реагируют, Vue.js и другие. Но есть еще один JavaScript Framework, которая революционирует платформу для тысяч разработчиков!

Автор оригинала: Matt Goldspink.

Первоначально опубликовано на https://lightningforjsdevelopers.com/the-other-javascript-framework/

В качестве веб-разработчика вы услышали гудение угловых (1, 2 и 4), реагируют, Vue.js и другие. Но есть еще один JavaScript Framework, которая революционирует платформу для тысяч разработчиков в целом.

Молния

Теперь я знаю, что Salesforce часто имеет плохую репутацию среди разработчиков за пределами своей экосистемы – просто проверьте переполнение стека 2017 для самых страшных технологий!

Самый страшный Tech - Sackflow Overflow 2017

Я слишком голосул слишком несколько лет назад! Однако я не совсем не погрузился в продавцу, чтобы оценить сложность и проблемы, которые они решают.

Поэтому, пожалуйста, придерживайтесь меня за это, даже если вы не заинтересованы или поклонник Salesforce! Есть много, что можно взять из того, что Молния делается.

Angular VS React VS Vue VS молнии

Как разработчик, когда я смотрю на эти рамки с высокого уровня, я вижу 4 разных способа решения подобных проблем. Уменьшите код BoaterPlate, предоставляя шаблон для привязки данных к представлению и добавить логику для обработки взаимодействий пользователей в поле зрения (извините в Massive Упрощение здесь – я знаю, что они все предлагают намного больше функций, таких как маршрутизация, событие и т. Д. Но опять же, все это, чтобы уменьшить код котельной, что разработчики должны были бы написать себя в ванили JS).

Так что, каким образом молния отличается от угловых, реагировать и Vue?

Существует одна ключевая проблема, которую молния пытается решить, что другие не.

Это проблема, что другие компании и рамки пытались решить в прошлом, но многие не преуспели и не выдерживали испытания временем:

Интерактивные компоненты от неизвестных разработчиков, живущих и взаимодействующих на той же странице, не нарушая друг друга и внедряя дыры безопасности

Думайте в дни моей Yahoo, iGoogle и NetVibes, настраиваемых панелей с гаджетами и виджетами от кого-либо и всех.

igoogle.
  • igoogle.
NetVibes.
  • NetVibes.
Мой Yahoo.
  • Мой Yahoo.

Краткое время относительно того, как я вижу и использую Salesforce. Платформа SalesForce – это экосистема, в которой компании могут быстро создавать приложения на вершине ряда встроенных функций. При VLocity мы включаем правительства, Telco и страховые компании для революции своих колл-центров и быстро и легко и легко и легко и легко и легко. Причина, причина, которую мы сможем повернуть приложения так быстро, состоит в том, что мы можем доставить повторные разработки процессов на самую вершину Salesforce, которая соответствует общим потокам, которые мы видим в этих отраслях.

Один крупнейший вызов – это то, как вы огорожить все эти виджеты друг от друга? Как я могу остановить CSS в этом виджете от Badhaxxor От возительства с моим? Или как использовать DOM API в моем виджете, когда они заблокированы?

В прошлом основное решение для многих этих проблем было в Cram Это в iframe и делать то, что вы хотите там. Но это повышает основные проблемы с производительностью и не обязательно не решает все проблемы безопасности.

Тем не менее, служба шкафчика в молнии – многообещающее решение!

🙁 Сервис шкафчика

Даже краткое упомянутое упомянутое обслуживание шкафчика достаточно, чтобы заставить бунт в норме SalesforceForce. Люди презирают это! Проверьте комментарии к этому в блоге пост от Salesforce ранее в этом году – Контейнерный компонент Lockerservice и Lightning: надежно используют сторонние библиотеки в компонентах молнии

Я выбирал какой-то выбор ярость для тебя!

Служба шкафчика не помогает сделать наши приложения лучше или безопасным или более ремонтом; Это делает их невозможным построить.> Если бы я знал, что вы выходили с этим шкафчиком, когда мы приняли решение использовать освещение в январе 2016 года, я бы никогда не использовал молнию для этого решения. Это было полной тратой времени и денег.> Кажется, вы делаете невозможные вещи с хрупкой позвоночником. Там нет стандартной спецификации, который утверждает, что безопасность Locker всегда работает, как вы ожидаете. Принесение собственного DOM SPEC без какого-либо проверки соответствия – это попытка разрушения полотна, приносят фрагментации. Усилия из плохой идеи всегда будут в плохом конце. Это время пересмотреть направление.

Ясно, что некоторые люди здесь не довольны! Но во всех честных шкафчиках сервис – очень крутая технология!

🙂 Сервис шкафчика

Я пришел с первого слушания и играя с ним. Это решает очень непосредственную необходимость, которую я видел в ряде мест, и это Открытый источник !

Лично я думаю, как это решает, проблема отлично. Вот быстрый обзор:

  1. Обеспечить соблюдение строгого режима во всех коде JS … это не необоснованному запросу
  2. Установите правила политики безопасности содержимого на всех компонентах … Опять же, это умная идея:
  • CSP помогает смягчить атаки скриптов по перекрестным насадям, обеспечивая все ресурсы (CSS, скрипты, изображения и т. Д.), известный домен (или набор доменов).
  • Кроме того, одно правило, используемое молнией, – это предотвращение использования Eval () или Функция конструкторы
  1. Все JavaScript Code загружается в Scapeer Service в безопасную песочницу, которая впрыскивает прокси для глобальных объектов, таких как Окно , Документ , Элемент , так далее
  2. Все правила CSS для вашего компонента должны быть префиксированы с помощью Это который будет заменен во время выполнения с вашим уникальным укомплектованием, применяемым к вашему компоненту
  • Это гарантирует, что ваши правила CSS не записаны с помощью селекторов, которые влияют на все возможные компоненты.

Так что это значит?

Ваш компонент безопасен от моего компонента. Я не буду испортить это для тебя … Молния обещания я не буду! Кто бы этого не хотел?

Однако нисходящие недостатки не могут использовать какую-либо старую библиотеку JavaScript из Интернета, потому что:

  • Они могут не работать в среде CSP
  • Они могут попробовать доступ к элементам DOM вне вашего компонента:
    • Если они используют DOM API, как Document.QuerySelectorallAll () Тогда это не будет работать. Если это компонент пользовательского интерфейса, который вы используете, то лучше всего отправлять патч для разработчиков, чтобы получить его работать без этого API
  • Файлы CSS с некоторыми библиотеками JS не будут работать из коробки
    • Вам нужно будет изменить их для поддержки Это префикс и встраивать их в сам компонент

Что дальше?

Это просто краткое введение на молнию и главная проблема, которую она пытается решить. Я также хотел пролить свет на некоторые ограничения и ограничения с сервисом шкафчика. Вокруг этого много Fud, которое не оправдано!

Молния – отличный JavaScript Framework – это содержит основные функции, такие как Привязка данных , Выражения , События и Маршрутизация Отказ Это также поддерживает несколько отличных функций, таких как Интерфейсы и Абстрактные компоненты Это только с языками, такими как Typeycript (… ok Это может выглядеть странный способ написать интерфейс, но он отлично работает!). Однако при сравнении с угловым, реагированным, VUE и другими популярными каркасами JavaScript важно помнить, что одна из основных проблем, которые действительно пытаются решить молнию, сильно отличается от этих других структур.

Я настоятельно рекомендую проверить тропы от Salesforce, чтобы узнать больше:

Голова до https://lightningforjsdevelopers.com Для более молниеносных советов и трюков.