Т.е основные преимущества покроются css-модулями и css-переменными, значит это вопрос времени. Спеки сейчас развиваются очень активно и их поддержка в браузерах тоже.
В Angular вопрос изоляции даже не стоит, там это идет из коробки.
Согласен с позицией на счет общей картины потребления.
Но для меня диета начинается в магазине. По себе скажу, что если дома лежит один сникерс или 9 яблок, то общее потребление калорий и их темп будет совсем разным.
Калорийность яблок по вики — 52ккал. Сникерс — 488ккал. Т.е 1 батончик весом 100 грамм (очень легко сьесть), можно заменить почти килограммом яблок (а вот это уже сложнее улопать).
При этом у яблок гликемический индекс — 30 (а у конфет 70+). Я не представляю как можно бесконтрольно обьедаться яблоками, зато сникерсами — очень легко.
UPD. Ну и соотвественно они совсем по-разному усваиваются.
Под капотом идет отличная система инкапсуляция стилей, сейчас они эмулируют поведение ShadowDOM с некоторыми оговорками. И это работает хорошо, БЭМ и подобные системы больше не выполняют никакой роли, уже упрощение.
Я пробовал CSSinJS некоторое время и могу сказать, что для Angular в нем нет смысла вообще. Через биндинг классов управляем отображением, все организационные плюшки через SCSS. Редкие случаи, когда нужно передать какие-то конкретные значение — биндинг стилей.
Все это упрощается шикорим спектром готовых хорошо работающих инструментов и типичным флоу для разработчиков. А CSS декларация хорошо читается и весьма функциональна. Конечно же со временем это будет меняться, CSSinJS может вырасти, но пока чего-то особенного не предлагает.
Я как-то пробовал брать сервер у них на тест. За неделю до окончания срока оплаты сервер вырубили, нужно было проплатить заранее. Конечно же где-то об этом было написано, но это не самый логичный/распостраненный расклад для недорогой виртуалки.
Окей, мой просчет. Когда попросил бекап, сказали что заплатите и получите. Обьяснили это так: «скажите честно, вы просто не хотите продлевать». Т.е технически это не проблема, финансово у меня забрали условные 25% суммы, а они просто трясли на «выходной» платеж? Наверняка часто работает, т.к у людей подвисает важная инфа.
И на этой ноте наши отношения закончились, благо зашли не очень далеко.
Тут дело не в создании экземпляров, а в «инкапсуляции» сервисов, интуитивно кажется, что они ведут себя также, как и директивы/компоненты, но это не так — они попадают в глобальный скоуп.
> П.С. Прозвучит как оправдание, но это мой первый опыт перевода.
Спасибо за перевод, в данной статье есть дельные советы.
Но перевод неточный и в некоторых моментах вводит в заблуждение, особенно по-поводу инкапсуляции сервисов.
> As services have generally a global scope…
> Сервисы имеют тоже пространство имен, что и модули…
И тут вступает определенная сложность самой модульной системы Angular: если сервис провайдится в любом модуле на любом уровне (кроме LazyLoad), то сревис будет доступен глобально и при многократном импорте — будет заменятся.
Кроме случаев, когда он провайдится в рамках директивы/компонента, тогда будет создан новый экземпляр локально.
Внутри каждого Lazy-модуля такое же локальное поведение, плюс видны все сервисы из AppModule.
Не важно на чем написан API, даже если это сторонний сервис. Node в проде тут выступит как прокси (без всякого отношения к бекенду или самому Angular-приложению), который соберет данные с нужных эндпоинтов и отрендерит html.
Для xlf-формата есть много софта, который помогает мержить и обновлять файлы. Я использовал Virtaal и это было удобно, программа достаточно успешно вылавливала измененные фразы и показывала предыдущий вариант перевода.
Но у нативного i18n есть большие проблеми с plural, фраза заменяется на пустой тег, т.е нужно задавать дополнительный контекст или выдумывать что-то еще.
Сторонние либы неплохо справляются с задачами, ну и если нужен какой-то специфический функционал, то всегда можно реализовать его самому. При этом у меня есть уверенность, что нативная система будет доработана и ее использование не будет вызывать столько проблем.
> Пример разработки игры на Angular2.
Это был эксперимент (хоть и закончился он относительно успешно), который показал, что как-раз для игр лучше использовать другой инструмент.
Может и маловато, но если владелец он, то шансов отвертеться мало. Пы.сы. в Харькове не секрет, кто держал КАТ, поэтому версия «лошадь не моя» слабовата.
Это очень похоже на PC, упакованный в ваш телефон. И если мощностей будет достаточно, то зачем весь софт переписывать, если уже есть готовый на Win/Linux?
Уже сейчас есть сносные планшеты на полноценной Win10, до телефонов 1 шаг. Остается лишь вопрос в удобной оболочке для работы через экран самого телефона. А под капотом будет та самая полноценная операционка, которая через хаб выглядит точно так же, как на современном PC.
upd. Если речь про Атланта, конечно же.
В Angular вопрос изоляции даже не стоит, там это идет из коробки.
Посмотрите reddit
Но для меня диета начинается в магазине. По себе скажу, что если дома лежит один сникерс или 9 яблок, то общее потребление калорий и их темп будет совсем разным.
При этом у яблок гликемический индекс — 30 (а у конфет 70+). Я не представляю как можно бесконтрольно обьедаться яблоками, зато сникерсами — очень легко.
UPD. Ну и соотвественно они совсем по-разному усваиваются.
Под капотом идет отличная система инкапсуляция стилей, сейчас они эмулируют поведение ShadowDOM с некоторыми оговорками. И это работает хорошо, БЭМ и подобные системы больше не выполняют никакой роли, уже упрощение.
Я пробовал CSSinJS некоторое время и могу сказать, что для Angular в нем нет смысла вообще. Через биндинг классов управляем отображением, все организационные плюшки через SCSS. Редкие случаи, когда нужно передать какие-то конкретные значение — биндинг стилей.
Все это упрощается шикорим спектром готовых хорошо работающих инструментов и типичным флоу для разработчиков. А CSS декларация хорошо читается и весьма функциональна. Конечно же со временем это будет меняться, CSSinJS может вырасти, но пока чего-то особенного не предлагает.
Я как-то пробовал брать сервер у них на тест. За неделю до окончания срока оплаты сервер вырубили, нужно было проплатить заранее. Конечно же где-то об этом было написано, но это не самый логичный/распостраненный расклад для недорогой виртуалки.
Окей, мой просчет. Когда попросил бекап, сказали что заплатите и получите. Обьяснили это так: «скажите честно, вы просто не хотите продлевать». Т.е технически это не проблема, финансово у меня забрали условные 25% суммы, а они просто трясли на «выходной» платеж? Наверняка часто работает, т.к у людей подвисает важная инфа.
И на этой ноте наши отношения закончились, благо зашли не очень далеко.
> П.С. Прозвучит как оправдание, но это мой первый опыт перевода.
Главное — не останавливаться :)
Но перевод неточный и в некоторых моментах вводит в заблуждение, особенно по-поводу инкапсуляции сервисов.
> As services have generally a global scope…
> Сервисы имеют тоже пространство имен, что и модули…
И тут вступает определенная сложность самой модульной системы Angular: если сервис провайдится в любом модуле на любом уровне (кроме LazyLoad), то сревис будет доступен глобально и при многократном импорте — будет заменятся.
Кроме случаев, когда он провайдится в рамках директивы/компонента, тогда будет создан новый экземпляр локально.
Внутри каждого Lazy-модуля такое же локальное поведение, плюс видны все сервисы из AppModule.
Отличный материал по этой теме: blog.angularindepth.com/avoiding-common-confusions-with-modules-in-angular-ada070e6891f
Автор в оригинале несколько раз делает упор на этой особенности, к сожалению в переводе эта информация слишком упрощена.
Но у нативного i18n есть большие проблеми с plural, фраза заменяется на пустой тег, т.е нужно задавать дополнительный контекст или выдумывать что-то еще.
Если нужно получить фразу в коде, то можно использовать вот такой хак: забирать фразу из шаблона во время выполнения кода.
Сторонние либы неплохо справляются с задачами, ну и если нужен какой-то специфический функционал, то всегда можно реализовать его самому. При этом у меня есть уверенность, что нативная система будет доработана и ее использование не будет вызывать столько проблем.
Это был эксперимент (хоть и закончился он относительно успешно), который показал, что как-раз для игр лучше использовать другой инструмент.
А кто будет определять раздел прелестей и давать коэфициэнты?
Уже сейчас есть сносные планшеты на полноценной Win10, до телефонов 1 шаг. Остается лишь вопрос в удобной оболочке для работы через экран самого телефона. А под капотом будет та самая полноценная операционка, которая через хаб выглядит точно так же, как на современном PC.