Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КskyANAАлексей, у вас там вообще что на данный момент написано, и насколько это вообще SPA?Там два SPA клиента. Выполнена системная часть, заканчиваем основные CRUD-формы. После них перейдём к SOAP-интеграции. Потом, может отчётность какую успеем сделать. Сроки сжатые, задача, цитирую: "успеть внедрить к Новому году хоть что-нибудь". :-) Остальное в следующем году доделаем.При такой постановке задачи не понятно, зачем SPA выбрали. Просто надо было как-то написать? А полный скоп задач какой, если не секрет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 10:31 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
skyANAАлексей Кпропущено... Там два SPA клиента. Выполнена системная часть, заканчиваем основные CRUD-формы. После них перейдём к SOAP-интеграции. Потом, может отчётность какую успеем сделать. Сроки сжатые, задача, цитирую: "успеть внедрить к Новому году хоть что-нибудь". :-) Остальное в следующем году доделаем.При такой постановке задачи не понятно, зачем SPA выбрали. Просто надо было как-то написать? А полный скоп задач какой, если не секрет?У нас перед этим был web-проект, в котором SPA было требование заказчика. Проект был небольшой, проект был сдан и внедрён, все довольны. Там был небольшой проект, поэтому я про него молчу и в пример не ставлю. В итоге у нас остались SPA-наработки и некоторый опыт подобных проектов. Плюс мне, как "десктопщику WPF-нику", такая архитектура нравится больше. Уверен - всё получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:25 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
МСУАлексей Кпропущено... Сходить исповедаться что ли... Перезапили под внятный разор и будет тебе щастье. Зуб на отсечение :)У меня и без того счастья хватает. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:30 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КУ нас перед этим был web-проект, в котором SPA было требование заказчика. Проект был небольшой, проект был сдан и внедрён, все довольны. Там был небольшой проект, поэтому я про него молчу и в пример не ставлю. В итоге у нас остались SPA-наработки и некоторый опыт подобных проектов. Плюс мне, как "десктопщику WPF-нику", такая архитектура нравится больше. Уверен - всё получится. Не совсем понимаю, каким боком предыдущий пример с наработками SPA относится к текущему проекту? Ты так и будешь в каждую дырку сувать свой SPA? Нарабокти же есть - Нам нужен кран для подъема жлезобетонных свай. - Да, у нас есть наработки, как можно поднять сваи на шкиве с помощью тягового усилия. Вам не нужен кран! И вообще, у нас хорошая аналитика по данному вопросу, осталась от прошлого проекта Всё будет в лучшем виде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:38 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
skyANAА полный скоп задач какой, если не секрет?Обычный "корпоратив": CRUD, отчёты, SOAP-интеграции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:38 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КSOAP-интеграции. В последнее время у меня всё сильнее начали учащаться рвотные позывы и грустное уныние... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:41 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КУ нас перед этим был web-проект, в котором SPA было требование заказчика. Проект был небольшой, проект был сдан и внедрён, все довольны. Там был небольшой проект, поэтому я про него молчу и в пример не ставлю. В итоге у нас остались SPA-наработки и некоторый опыт подобных проектов. Плюс мне, как "десктопщику WPF-нику", такая архитектура нравится больше. Уверен - всё получится. Не совсем понимаю, каким боком предыдущий пример с наработками SPA относится к текущему проекту? Ты так и будешь в каждую дырку сувать свой SPA? Нарабокти же есть Ну нет, я буду лепить каждый новый проект "с нуля". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:41 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КНу нет, я буду лепить каждый новый проект "с нуля" ... на SPA и SOAP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:43 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КSOAP-интеграции. В последнее время у меня всё сильнее начали учащаться рвотные позывы и грустное уныние... Позлить тебя что ли хранимыми процедурами? Сделать что ли специально для тебя парочку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:43 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КНу нет, я буду лепить каждый новый проект "с нуля" ... на SPA и SOAP + stored procedures + MySQL + Mono ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:45 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КПозлить тебя что ли хранимыми процедурами? Сделать что ли специально для тебя парочку... ... и добить триггерами и логикой на сервис брокере http://codearticles.ru/articles/1762 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:46 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
МСУИспугался SPAЯ вот не пойму, тебе какая разница, как делать композицию страниц: через master page в Razor, или биндингом на клиенте содержимого DIV ? Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Что тебя пугает? Ведь в результате: 1. Страница полностью не перезагружается, это тупо быстрее. 2. Страница имеет состояние, которое в сложных случаях избавляет от костылей, вроде сессий на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 12:55 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
У меня на каждый ajax-запрос опционально есть окошко "подождите" + блокирование UI. Окошко отображается с задержкой, чтобы не мигало при коротких запросах. Всё практически так же, как описано тут . Что в этом плохого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 13:07 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
hVosttИзопропила чё там не так со мусоросборщиком в javascript? https://developer.mozilla.org/ru/docs/Web/JavaScript/Memory_Management Алгоритм "Mark-and-sweep" Данный алгоритм сужает понятие "объект более не нужен" до "объект недоступен". Основывается на понятии о наборе объектов, называемых roots (в JavaScript root'ом является глобальный объект). Сборщик мусора периодически запускается из этих roots, сначала находя все объекты, на которые есть ссылки из roots, затем все объекты, на которые есть ссылки из найденных и так далее. Стартуя из roots, сборщик мусора, таким образом, находит все доступные объекты и уничтожает недоступные. Ситуации, когда ссылка считается доступной (или достижимой), хотя прямых ссылок уже вроде нет, при использовании замыканий, -- сплошь и рядом. В JS память практически всегда течёт. Утечки можно уменьшить до уровня, когда можно не обращать внимания. Чем больше кода, особенно чужого, тем больше утечек. Теоретически можно добиться офигенного менеджмента памяти. Но это та овечка, шкуры ради которой не стоит палить свечи. hVosttАлексей КПро сборку мусора тоже был сарказм? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Пример утечки на пустом месте.u Я правильно понимаю, что здесь имеется баг реализации сборщика? Старые "thing" держатся только функциями unused, недостижимыми из рута ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 14:08 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КЧто тебя пугает? Ведь в результате: 1. Страница полностью не перезагружается, это тупо быстрее. 2. Страница имеет состояние, которое в сложных случаях избавляет от костылей, вроде сессий на сервере. 1. Можно получить кривую, у нас она была следующая: -- Пользователь открывает приложение первый раз: SPA ооооочень существенно медленнее, так как загружается много скриптов и шаблонов, но они кешируются, так что всё вроде ОК -- Пользователь открывает экран сделок: SPA быстрее, но не существенно (разница 1.5 сек) -- Пользователь переходит к экрану задач: SPA быстрее -- Пользователь открывает «окно» сделки: SPA быстрее -- -- ... Итерации несоколько раз повторяются с разными «погружениями» в недры бизнес-процессов -- -- Пользователь переходит к любому экрану: счёты сравнялись, вкладка браузера потребляет уже больше 300 мб -- Пользователь начинает активную переписку по проекту: всё, начинается слив SPA с постоянно увеличивающимся разрывом, хотя банальный F5 вдруг решает проблему Проблемы другого уровня: Так как работа ведётся в браузере, нормальный адекватный пользователь хочет открывать несколько вкладок, и держать нужную информацию и функциональность, что говорится «под рукой». Не говоря о том, что открытие вкладки с хеш-путём, эта операция не просто сливает по скорости загрузки обычной странице, но и увеличивает общий расход ресурсов компа браузера. Итог: пользователи в бешенстве. Говорят, уберите это унылое гумно, и дайте классическое веб-приложение, построенное на страндартах веба, к которому все привыкли. Вопросы к архитектуре? Всё писалось исключительно по гайдам Гугл, на ангуляре + WebAPI, как говорится «по букве правил построения чистого настоящего тру-SPA приложения». Да, оптимизации подлежит, можно найти и оптимизировать узкие места, но часто в ущерб преимуществам, которые даёт MVVM фреймворк, а их предостаточно. И это очень накладно по трудозатратам, так как есть разница когда у нас все компоненты максимально независимы, а на клиента летит монолит из HTML+CSS+JS (и совершенно по барабану AMD там или чего ещё, это лишь вопросы экономии пару сотен килобайт, ни черта не решает). Теперь по второму пункту: На счёт состояния. Вот как бы это ни было смешно, наличие хранения состояния на клиенте в SPA, отнюдь не отменяет аналогичную работу с состоянием на сервере. Это вопрос безопасности и точка. За перенос ответственности полностью на клиента за состоянием приложения, отправлять таких горе-разрабов в ссылку на рынок труда. Бессрочно. Так что SPA там или не SPA, это с сервера не снимает той ответственности, которую он должен нести. Пофигу совершенно. В том ли разница, что при SPA между серваком и клиентом гоняется меньше данных? Да. Чуть-чуть. Не существенно, особенно при реализации грамотного кеширования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 14:33 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Яростный МечЯ правильно понимаю, что здесь имеется баг реализации сборщика? Старые "thing" держатся только функциями unused, недостижимыми из рута Это не баг. Функции это не просто объекты, которые можно так просто удалить. Но такие ситуации случаются очень частно, правда не в таком масштабе, как приведено в примере. Где-то это уже научились оптимизировать, что не может не радовать. Но это частный случай, оптимизации поддаётся далеко не всё. Поэтому память течёт практически всегда. Это связано с тем, что 99,9% приложений используют чужие библиотеки, и много. Может одно на сотни десятков тысяч найдётся, где 100% «всё своё родное». ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 14:37 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КУ меня на каждый ajax-запрос опционально есть окошко "подождите" + блокирование UI. Окошко отображается с задержкой, чтобы не мигало при коротких запросах. Всё практически так же, как описано тут . Что в этом плохого? Открой теперь несколько разделов приложения в разных вкладках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 14:45 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей КЧто тебя пугает? Ведь в результате: 1. Страница полностью не перезагружается, это тупо быстрее. 2. Страница имеет состояние, которое в сложных случаях избавляет от костылей, вроде сессий на сервере. 1. Можно получить кривую, у нас она была следующая: -- Пользователь открывает приложение первый раз: SPA ооооочень существенно медленнее, так как загружается много скриптов и шаблонов, но они кешируются, так что всё вроде ОК -- Пользователь открывает экран сделок: SPA быстрее, но не существенно (разница 1.5 сек) -- Пользователь переходит к экрану задач: SPA быстрее -- Пользователь открывает «окно» сделки: SPA быстрее -- -- ... Итерации несоколько раз повторяются с разными «погружениями» в недры бизнес-процессов -- -- Пользователь переходит к любому экрану: счёты сравнялись, вкладка браузера потребляет уже больше 300 мб -- Пользователь начинает активную переписку по проекту: всё, начинается слив SPA с постоянно увеличивающимся разрывом, хотя банальный F5 вдруг решает проблемуНу где-то есть утечки. Может ангулар тупит, может ещё что. Я не использую ангулар, у меня свой фреймворк на базе KO + RequireJS. Поначалу было несколько утечек, всё было исправлено, проблема не повторялась. hVosttПроблемы другого уровня: Так как работа ведётся в браузере, нормальный адекватный пользователь хочет открывать несколько вкладок, и держать нужную информацию и функциональность, что говорится «под рукой».Согласен. У нас все переходы по возможности делаются ссылками, чтобы можно было открыть в "новом окне". hVosttНе говоря о том, что открытие вкладки с хеш-путём, эта операция не просто сливает по скорости загрузки обычной странице, но и увеличивает общий расход ресурсов компа браузера.Тут я не понимаю. Системные скрипты есть, но их не так много, их размер не больше обычной картинки. Прикладные скрипты грузятся лениво через RequireJS, про них можно вообще не думать. hVosttИтог: пользователи в бешенстве. Говорят, уберите это унылое гумно, и дайте классическое веб-приложение, построенное на страндартах веба, к которому все привыкли. Вопросы к архитектуре? Всё писалось исключительно по гайдам Гугл, на ангуляре + WebAPI, как говорится «по букве правил построения чистого настоящего тру-SPA приложения». Да, оптимизации подлежит, можно найти и оптимизировать узкие места, но часто в ущерб преимуществам, которые даёт MVVM фреймворк, а их предостаточно. И это очень накладно по трудозатратам, так как есть разница когда у нас все компоненты максимально независимы, а на клиента летит монолит из HTML+CSS+JS (и совершенно по барабану AMD там или чего ещё, это лишь вопросы экономии пару сотен килобайт, ни черта не решает).Итог: не надо закрыв глаза бросаться на новомодные фреймворки, вроде ангулара, которые пиарятся на каждом углу. :-) Ниже список используемого, проблем не замечено: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. hVosttТеперь по второму пункту: На счёт состояния. Вот как бы это ни было смешно, наличие хранения состояния на клиенте в SPA, отнюдь не отменяет аналогичную работу с состоянием на сервере. Это вопрос безопасности и точка. За перенос ответственности полностью на клиента за состоянием приложения, отправлять таких горе-разрабов в ссылку на рынок труда. Бессрочно. Так что SPA там или не SPA, это с сервера не снимает той ответственности, которую он должен нести. Пофигу совершенно. В том ли разница, что при SPA между серваком и клиентом гоняется меньше данных? Да. Чуть-чуть. Не существенно, особенно при реализации грамотного кеширования.Думаю, тут надо рассмартивать конкретные случаи в отдельности. Но факт остаётся - SPA добавляет возможность, которой нет в web традиционного исполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 14:59 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей КУ меня на каждый ajax-запрос опционально есть окошко "подождите" + блокирование UI. Окошко отображается с задержкой, чтобы не мигало при коротких запросах. Всё практически так же, как описано тут . Что в этом плохого? Открой теперь несколько разделов приложения в разных вкладках.Без проблем. Каждый документ в приложении адресуется своей hash-ссылкой. Не понял, какое это имеет отношение к окошку "подождите". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 15:01 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КНиже список используемого, проблем не замечено: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Я б не грузил moment-with-locales )) Ну так, по виду довольно «лёгкое» приложение. Так-то конечно. Даже гридов нету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 15:31 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
hVosttЯ б не грузил moment-with-locales ))Ок, подумаю. hVosttНу так, по виду довольно «лёгкое» приложение. Так-то конечно. Даже гридов нету У меня самодельный грид на базе KO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 15:35 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КБез проблем. Каждый документ в приложении адресуется своей hash-ссылкой. Не понял, какое это имеет отношение к окошку "подождите". Что происходит при открытии хеш-ссылки в отдельной вкладке? Сначала грузится само приложение, инициализируется до той меры, когда может обрабатывать маршруты, потом грузится то, что требуется для маршрута. И поверь, тебе никогда не переплюнуть по скорости загрузки классической страницы. Так что все профиты SPA, все они при ближайшем рассмотрении оказываются на деле видимым упрощением разработки (типо как WPF), а не заботой о пользователе. На деле вероятней всего сценарий, что окажется плохо как для разработки, так и для пользователя. Хотя я уже говорил, что SPA не плохая технология, на ней можно решать практически бесконечно огромный спектр задач. При условии, если это будут простые замкнутые задачи. Как в GMail -- пока работаешь с почтой, всё делаешь в одном приложении. Но как только захочешь открыть календарь или гугл драйв, тебя сразу перекидывает совсем на другую страницу. Хотя казалось бы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 15:37 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Алексей КУ меня самодельный грид на базе KO. Ну я так и подумал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 15:37 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
Плюс к этому грузится "фреймворк-велосипед" размером ~115 КБ (без минификации). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 15:39 |
|
||
|
Single Page Application или одностраничный портал. Овчинка выделки стоит?
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей КБез проблем. Каждый документ в приложении адресуется своей hash-ссылкой. Не понял, какое это имеет отношение к окошку "подождите". Что происходит при открытии хеш-ссылки в отдельной вкладке? Сначала грузится само приложение, инициализируется до той меры, когда может обрабатывать маршруты, потом грузится то, что требуется для маршрута. И поверь, тебе никогда не переплюнуть по скорости загрузки классической страницы.А я никуда не тороплюсь. :-) Пусть оно инициализируется чуть медленнее, полная перезагрузка страницы происходит редко. hVosttТак что все профиты SPA, все они при ближайшем рассмотрении оказываются на деле видимым упрощением разработки (типо как WPF), а не заботой о пользователе. На деле вероятней всего сценарий, что окажется плохо как для разработки, так и для пользователя.Разработчики методикой разработки довольны, а недовольные пользователи будут уволены. Шутка. :-) hVosttХотя я уже говорил, что SPA не плохая технология, на ней можно решать практически бесконечно огромный спектр задач. При условии, если это будут простые замкнутые задачи. Как в GMail -- пока работаешь с почтой, всё делаешь в одном приложении. Но как только захочешь открыть календарь или гугл драйв, тебя сразу перекидывает совсем на другую страницу. Хотя казалось бы...Да я и не предлагаю с фанатизмом следовать SPA, там где он мешает. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38794193&tid=1356875]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 410ms |

| 0 / 0 |
