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

NG2-SFDC Solutions (Первый боевой проект)

Наконец-то наступило это прекрасное время. Пришел первый боевой проект для Ангуляр2 и полный карт-бланш для выбора используемых технологий.

Смахнул пыль с моего NG2-SFDC Solutions. Увы даже за полгода сборка сильно устарела. На дворе во всю бушует Ангуляр 4.х и многие зависимые либы сильно проапдейтились. Пришлось потрать день для апдейта и разруливания конфликтов. но вроде все получилось и свежая сборка заработала.
Краткое отступление для того чтобы иметь понятие насколько приходится иногда раскинуть мозгами. Так как мое приложение это NodeJS запускаемое под Electron окружение немного ебет мозг. Много времени приходилось потратить разбирая почему Watcher из Webpack отжирает 30% и более CPU и начинает греть мой мак (начинаю напрягаться когда не чувствую под руками приятную прохладу алюминиевого корпуса моего мака). Причем прямой запуск webpack c watcher работает "тихо". Оказывается есть такая либа как fsevents которая отвечает за отслеживание изменений в файловой системе и оказывается под Electron надо использовать специально скомпилированную версию (простая сборка npm не прокатит). Такие нюансы приходится реально откапывать :). Зато как потом приятно себя чувствуешь когда побеждаешь. Жаль на SF мало таких интересных тасков попадается :(.

В общем проапдейтил, запустил - работает! Пришлось еще поменять немного структуру проекта. Пришлось отказаться от своего managed package. Увы, проблемы с дебагом из под managed package сильно напрягают. Я описывал проблему и некоторые наблюдение ранее. Но в общих словах получить стек трейс иногда бывает проблематично. Но в принципе данный шаг сильно упростил проксирующий слой. Думаю что я могу смириться с тем что мое решение теперь будет частью клиентских проектов. Себе оставлю локальный дев сервер .

Возвращаясь к разработке. КАЙФ одним словом. Я реально тащусь когда на кажлый CTRL+S мне остается только переключиться на браузер и ВСЕ! Даже не надо его перегружать. Просто (если быстро переключисться) остается подождать чтобы страница перегрузилась сама. Обычно же немного замешкавшись переходя на браузер уже получаешь перезагруженную страницу. После классического SF сохранения это просто божественно.

После всех локальных манипуляций остается только задеплоить собранный бандл в статик ресурс и подготовить (один раз страницу где этот бандл запустится).

PROFIT. Я сильно доволен процессом разработки Хотя своя рубаха всегда ближе к телу!

Наконец-то наступило это прекрасное время. Пришел первый боевой проект для Ангуляр2 и полный карт-бланш для выбора используемых технологий. 

Смахнул пыль с моего NG2-SFDC Solutions. Увы даже за полгода сборка сильно устарела. На дворе во всю бушует Ангуляр 4.х и многие зависимые либы сильно проапдейтились. Пришлось потрать день для апдейта и разруливания конфликтов. но вроде все получилось и свежая сборка заработала.
Краткое отступление для того чтобы иметь понятие насколько приходится иногда раскинуть мозгами. Так как мое приложение это NodeJS запускаемое под Electron окружение немного ебет мозг. Много времени приходилось потратить разбирая почему Watcher из Webpack отжирает 30% и более CPU и начинает греть мой мак (начинаю напрягаться когда не чувствую под руками приятную прохладу алюминиевого корпуса моего мака). Причем прямой запуск webpack c watcher работает "тихо". Оказывается есть такая либа как fsevents которая отвечает за отслеживание изменений в файловой системе и оказывается под Electron надо использовать специально скомпилированную версию (простая сборка npm не прокатит). Такие нюансы приходится реально откапывать :). Зато как потом приятно себя чувствуешь когда побеждаешь. Жаль на SF мало таких интересных тасков попадается :(.

В общем проапдейтил, запустил - работает! Пришлось еще поменять немного структуру проекта. Пришлось отказаться от своего managed package. Увы, проблемы с дебагом из под managed package сильно напрягают. Я описывал проблему и некоторые наблюдение ранее. Но в общих словах получить стек трейс иногда бывает проблематично. Но в принципе данный шаг сильно упростил проксирующий слой. Думаю что я могу смириться с тем что мое решение теперь будет частью клиентских проектов. Себе оставлю локальный дев сервер :D .

Возвращаясь к разработке. КАЙФ одним словом. Я реально тащусь когда на кажлый CTRL+S мне остается только переключиться на браузер и ВСЕ! Даже не надо его перегружать. Просто (если быстро переключисться) остается подождать чтобы страница перегрузилась сама. Обычно же немного замешкавшись переходя на браузер уже получаешь перезагруженную страницу. После классического SF сохранения это просто божественно. 

После всех локальных манипуляций остается только задеплоить собранный бандл в статик ресурс и подготовить (один раз страницу где этот бандл запустится). 

PROFIT. Я сильно доволен процессом разработки :D Хотя своя рубаха всегда ближе к телу! :D 

Ну и опять же повторюсь.
Проект получается универсальным.
Его все также можно собрать с помощью чистого webpack. Но уже с локальным дев сервером и перезагрузкой придется ковыряться самому. Ну и с деплоем тоже. Небольшой плюс если кому-то придется работать с проектом "напрямую".
Пока увы фидбеков нет - работаю пока над проектом исключительно я. Надеюсь когда подключатся другие разработчики проблем не возникнет

Ну и опять же повторюсь.
Проект получается универсальным.
Его все также можно собрать с помощью чистого webpack. Но уже с локальным дев сервером и перезагрузкой придется ковыряться самому. Ну и с деплоем тоже. Небольшой плюс если кому-то придется работать с проектом "напрямую".
Пока увы фидбеков нет - работаю пока над проектом исключительно я. Надеюсь когда подключатся другие разработчики проблем не возникнет :) 

Dmitry Shnyrev
Такие нюансы приходится реально откапывать :). Зато как потом приятно себя чувствуешь когда побеждаешь. Жаль на SF мало таких интересных тасков попадается :(.

Любишь ты себе усложнять жизнь.

[quote="Dmitry Shnyrev"]Такие нюансы приходится реально откапывать :). Зато как потом приятно себя чувствуешь когда побеждаешь. Жаль на SF мало таких интересных тасков попадается :(.[/quote]
Любишь ты себе усложнять жизнь.

Sergey Prishchepa
Любишь ты себе усложнять жизнь.

Ну хоть чем-то себя развлечь. На рабочих SF проектах особо себя не проявишь. Автоматика и скукотища. Вот и придумываю себе какие-нибудь интересные задачи чтобы удовлетворить свое эго

[quote="Sergey Prishchepa"]Любишь ты себе усложнять жизнь.[/quote]
Ну хоть чем-то себя развлечь. На рабочих SF проектах особо себя не проявишь. Автоматика и скукотища. Вот и придумываю себе какие-нибудь интересные задачи чтобы удовлетворить свое эго :D 

Dmitry Shnyrev
Sergey Prishchepa
Любишь ты себе усложнять жизнь.

Ну хоть чем-то себя развлечь. На рабочих SF проектах особо себя не проявишь. Автоматика и скукотища. Вот и придумываю себе какие-нибудь интересные задачи чтобы удовлетворить свое эго :D

Похоже будет у меня для тебя конкурент...уже на секьюрити ревью без всякого дев сервера вообще.

[quote="Dmitry Shnyrev"][quote="Sergey Prishchepa"]Любишь ты себе усложнять жизнь.[/quote]
Ну хоть чем-то себя развлечь. На рабочих SF проектах особо себя не проявишь. Автоматика и скукотища. Вот и придумываю себе какие-нибудь интересные задачи чтобы удовлетворить свое эго :D[/quote]

Похоже будет у меня для тебя конкурент...уже на секьюрити ревью :) без всякого дев сервера вообще.

wilder
без всякого дев сервера вообще.

Чет не совсем понял в чем тогда конкурент ?
Вся соль в локальном дев сервере. Работаешь, сохраняешь, отлаживаешь все у себя на компе. Не надо по 2 часа ждать пока файл сохранится на SF чтобы его запустить. На SF уходят только сами запросы бизнес логики, по аналогии с Remote Actions. Вся соль в том чтобы получить рабочий результат как можно скорее после того как сохранил изменения в исходники. Приложению фиолетово работает оно локально или под SF. А для того чтобы оно работало нужен локальный дев сервер, который будет эмулировать окружение SF локально и проксировать запросы на реальный орг. Все ожидание сводится ко времени сборки Ангуляр/(теоретически любого другого JS) проекта в помощью webpack. Для Ангуляр >2 в режиме горячей компиляции составляет менее 1 секунды + задержка на перезагрузку страницы в браузере (самый примитивный вариант). Намного лучше чем ждать по 5 а часто и более 10 секунд и вручную перегружать страницу. Я к примеру часто тупо забываю что поменял и нужно протестировать

[quote="wilder"]без всякого дев сервера вообще.[/quote]
Чет не совсем понял в чем тогда конкурент :) ?
Вся соль в локальном дев сервере. Работаешь, сохраняешь, отлаживаешь все у себя на компе. Не надо по 2 часа ждать пока файл сохранится на SF чтобы его запустить. На SF уходят только сами запросы бизнес логики, по аналогии с Remote Actions. Вся соль в том чтобы получить рабочий результат как можно скорее после того как сохранил изменения в исходники. Приложению фиолетово работает оно локально или под SF. А для того чтобы оно работало нужен локальный дев сервер, который будет эмулировать окружение SF локально и проксировать запросы на реальный орг. Все ожидание сводится ко времени сборки Ангуляр/(теоретически любого другого JS) проекта в помощью webpack. Для Ангуляр >2 в режиме горячей компиляции составляет менее 1 секунды + задержка на перезагрузку страницы в браузере (самый примитивный вариант). Намного лучше чем ждать по 5 а часто и более 10 секунд и вручную перегружать страницу. Я к примеру часто тупо забываю что поменял и нужно протестировать :D 

Dmitry Shnyrev
Не надо по 2 часа ждать пока файл сохранится на SF чтобы его

Пройду ревью покажу. Все происходит on fly. Причем сразу в сф.

[quote="Dmitry Shnyrev"]Не надо по 2 часа ждать пока файл сохранится на SF чтобы его [/quote]

Пройду ревью покажу. Все происходит on fly. Причем сразу в сф.