Регистрация  |  Вход

Salesforce Angular2 conflict

Привет друзья.

Недавно задался интересно задачей для себя - попробовать Angular2 под SF. И знаете что в итоге - меня ждало большое разочароваени - не завелся Angular2.

Причем не работал он только вместе со стандартным интерфейсом SF. Если отключить header для страницы все отлично работает.
Ошибок никаких толковых не было. Просто чего-то там внутри не хватает, а как результат отсутствие глобальной переменной ng.

Решил копать В итоге выяснилось что не работает обращение к стандартному Map из javascript.

В очередной раз убеждаюсь великой тупости SF разработчиков! Они умудрились переназначить стандартный Map на свою урезанную реализацию, тем самым ломая все современные библиотеки, в том числе и Angular2. Молодцы, что можно сказать! Додуматься использовать свои реализации в глобальном неймспейсе да еще с такими кричащими названиями как Map это круто! Я могу конечно это списать на исторически сложившийся факт - SF ввели свой Map до того как он появился в JS и современные браузеры стали его поддерживать, но разве нельзя было это предугадать и использовать свой префикс, который так любят использовать в самом SF.

В итоге я по началу запатчил Ангуляр чтобы отвязать от Map и заставить использовать кастомную реализацию, но потом Максим и добрые люди подсказали элегантное решение Как вернуть Map на свое место (но остается вопрос не сломается ли сам SF от этого - надо разбираться)

https://toster.ru/q/289859?e=3447613#clarification_342995
http://salesforce.stackexchange.com/questions/103924/native-js-map-prototype-is-overwritten-in-visualforce-page-w-a-header

В КОПИЛКУ ОБЩИХ ЗНАНИЙ!

Выкладывайте сюда информацию о том как вы пробуете Angular2 и что из этого получается

Привет друзья.

Недавно задался интересно задачей для себя - попробовать Angular2 под SF. И знаете что в итоге - меня ждало большое разочароваени :( - не завелся Angular2.

Причем не работал он только вместе со стандартным интерфейсом SF. Если отключить header для страницы все отлично работает. 
Ошибок никаких толковых не было. Просто чего-то там внутри не хватает, а как результат отсутствие глобальной переменной ng.

Решил копать :) В итоге выяснилось что не работает обращение к стандартному Map из javascript.

В очередной раз убеждаюсь великой тупости SF разработчиков! Они умудрились переназначить стандартный Map на свою урезанную реализацию, тем самым ломая все современные библиотеки, в том числе и Angular2. Молодцы, что можно сказать! Додуматься использовать свои реализации в глобальном неймспейсе да еще с такими кричащими названиями как Map это круто! Я могу конечно это списать на исторически сложившийся факт - SF ввели свой Map до того как он появился в JS и современные браузеры стали его поддерживать, но разве нельзя было это предугадать  и использовать свой префикс, который так любят использовать в самом SF.

В итоге я по началу запатчил Ангуляр чтобы отвязать от Map и заставить использовать кастомную реализацию, но потом Максим и добрые люди подсказали элегантное решение [b]Как вернуть Map на свое место[/b] (но остается вопрос не сломается ли сам SF от этого :D - надо разбираться)

https://toster.ru/q/289859?e=3447613#clarification_342995
http://salesforce.stackexchange.com/questions/103924/native-js-map-prototype-is-overwritten-in-visualforce-page-w-a-header

В КОПИЛКУ ОБЩИХ ЗНАНИЙ!

Выкладывайте сюда информацию о том как вы пробуете Angular2 и что из этого получается :)



Мне конечно нравится больше RactiveJS (http://www.ractivejs.org/) в сочетании с apex:component и remoteActions. Руку уже набил НО, млин, вы не представляете себе круглые и удивленные глаза заказчиков с вопросом "А почему не Angular или React" :D. Короче надо следовать модным тенденциям. Очень сложно объяснить свой выбор если за спиной либы не стоит Google, Facebook, Twitter или сам Salesforce

Мне конечно нравится больше RactiveJS (http://www.ractivejs.org/) в сочетании с apex:component и remoteActions. Руку уже набил :) НО, млин, вы не представляете себе круглые и удивленные глаза заказчиков с вопросом "А почему не Angular или React" :D. Короче надо следовать модным тенденциям. Очень сложно объяснить свой выбор если за спиной либы не стоит Google, Facebook, Twitter или сам Salesforce :D