ScoUpnell

Пользователь

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

ScoUpnell

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

Сап, двач дота2.ру, с вами студент 4 курса, пишущий дипломную работу на тему разработки сайта. 

 

Начнем с того, что WEB-программированием никогда не занимался, имею лишь опыт C#, php и sql, но так сложилось, что тему (разработка CRM для сервисных центров) выбирал не я, то пришлось заниматься WEB'ом (html,css,php,js,sqli).

Собственно по ходу дела возникла куча вопросов, на которые я очень надеюсь найти тут ответы (дота2.ру издавна использовалвместо гугла).

 

Первый вопрос в том, сколь оправдано использование одностраничной архитектуры сайта. Обычно лишь в лэндинговых сайтах используют подобную архитектуру, но никак не в информационных системах такого масштаба, как CRM. Контент страниц формируется посредством ajax запросов к php, таблицы БД доходят до тысячи значений. 

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

 

1. Подобной реализации прежде нигде не видел, поэтому хотелось бы знать, есть ли подводные камни у подобного решения? 

2. Какие плюсы и минусы, кроме скорости загрузки?

 

Вот мой dotabuff, если без него не разобраться. 

 

Graundefined

Пользователь

Регистрация: 01.11.2013

Сообщения: 1435

Рейтинг: 2373

Graundefined

Регистрация: 01.11.2013

Сообщения: 1435

Рейтинг: 2373

в твоем случае неоправданно

Tonomi

Пользователь

Регистрация: 01.03.2018

Сообщения: 1174

Рейтинг: 2091

Tonomi

Регистрация: 01.03.2018

Сообщения: 1174

Рейтинг: 2091

Эм, страницы можно сверстать просто в html и css. Зачем сложности со всякими бд и скриптами?

src

Пользователь

Регистрация: 15.01.2014

Сообщения: 224

Рейтинг: 75

src

Регистрация: 15.01.2014

Сообщения: 224

Рейтинг: 75

reactjs/vuejs

ScoUpnell

Пользователь

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

ScoUpnell

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

Tonomi сказал(а):

Эм, страницы можно сверстать просто в html и css. Зачем сложности со всякими бд и скриптами?

Нажмите, чтобы раскрыть...

Потому что требуется разработать CRM, значит должен иметься примерной такой функционал: оформление/редактирование заказов, документооборот и печать форм, настройка справочников, вывод показателей/статистики, а также содержимого базы данных, импорт/экспорт информации из базы данных. 

 

В принципе все это уже готово на 90% в данной архитектуре, разве что я сейчас задумался о том, что комиссия может зацепиться за это, а я никак не могу аргументировать данное решение, кроме как "мои личные предпочтения, как разработчики" или "просто я аутист".

 

Я конечно много слышал о чудесах html5, но не уверен, что он на это способен)))

 

Graundefined сказал(а):

в твоем случае неоправданно

Нажмите, чтобы раскрыть...

а в чем собственно минус по сравнению с классической архитектурой, где используется стопяццот страниц, когда как можно просто распределить все по контейнерам, а обращение к серверу осуществлять через ajax? 

Emulebest

Пользователь

Регистрация: 01.01.2014

Сообщения: 212

Рейтинг: 171

Emulebest

Регистрация: 01.01.2014

Сообщения: 212

Рейтинг: 171

@ScoUpnell 

Архитектура SPA хороша, когда у тебя есть команда фронтэндов и бэкэндов, тогда задачи можно распараллелить

Она же плоха тем, что тебе нужно будет сделать слой сервисов (REST API) и разбираться с двумя разными технологиями.

В твоем случае неоправданна, т.к. слишком простую штуку делаешь

nambavannarusi

Пользователь

Регистрация: 16.03.2014

Сообщения: 17

Рейтинг: 31

nambavannarusi

Регистрация: 16.03.2014

Сообщения: 17

Рейтинг: 31

Не уверен, что это оправдано, т.к. SPA направлены в первую очередь на интерактивность, а не на контент. Но плюсы, в любом случае, есть:

1) Простота разработки. На бэке есть API, на клиенте просто происходит обращение к API и вывод информации. Таким образом, фронт и бэк можно разрабатывать отдельно и независимо. Бэк выходит облегченным по сравнению с многостраничными сайтами, т.к. там нет логики по выводу.

2) Скорость работы. Подгружается только необходимая информация.

3) Возможность осуществлять несколько действий одновременно (т.к. клиент - полноценное приложение). Т.е., например, если отчет генерируется 2 мин, то можно одновременно заниматься другими делами.

 

Есть минусы:

1) CMS - система управления контентом. То есть, получается, сайт ориентирован на просмотр контента, а не на JS-интерактив. Из этого следует, что у пользователя часто может быть открыто сразу несколько вкладок сайта (у меня, например, сейчас открыто 7 вкладок дота2сру). Держать открытыми несколько SPA-вкладок - довольно накладно.

2) Скорость разработки, возможно меньше, т.к. на фронте полноценное приложение, со своей архитектурой, всякими ангуларами и т.д. Просто jQuery, очевидно, не подходит.

 

Это первое, что пришло в голову, скорее всего есть еще много как плюсов, так и минусов.

Podpivasik

Пользователь

Регистрация: 14.07.2018

Сообщения: 30000

Рейтинг: 11109

Нарушения: 80

Podpivasik

Регистрация: 14.07.2018

Сообщения: 30000

Рейтинг: 11109

Нарушения: 80

я конечно понимаю ты умный все дела.

но это диплом.

зачем что то писать?

у меня похожий диплом был, я скачал html шаблон готовой системы, наскринил его, запихал скрины в диплом и готово.

остальное все напридумал и дорисовал текстом.

 

никто код и потестить в браузере не просит.

ScoUpnell

Пользователь

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

ScoUpnell

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

Emulebest сказал(а):

@ScoUpnell 

Архитектура SPA хороша, когда у тебя есть команда фронтэндов и бэкэндов, тогда задачи можно распараллелить

Она же плоха тем, что тебе нужно будет сделать слой сервисов (REST API) и разбираться с двумя разными технологиями.

В твоем случае неоправданна, т.к. слишком простую штуку делаешь

Нажмите, чтобы раскрыть...

Ох, спасибо огромное, архитектура SPA - это как раз то что нужно в данной ситуации. Моя дипломная работа получила новый параграф.

 

Насчет минусов я прочитал, и все равно мне не кажется, что в моей ситуации это будет плохим вариантом, так как количество одновременных пользователей небольшое, а уборка мусора заложена в фундамент системы. 

Podpivasik сказал(а):

я конечно понимаю ты умный все дела.

но это диплом.

зачем что то писать?

у меня похожий диплом был, я скачал html шаблон готовой системы, наскринил его, запихал скрины в диплом и готово.

остальное все напридумал и дорисовал текстом.

 

никто код и потестить в браузере не просит.

Нажмите, чтобы раскрыть...

А зачем книжки читать, если жизнь всему научит? Ну захотелось мне упороться слегка.

 

Курсач по программированию на первом курсе в группе никто сам не писал, лишь 40-60 строчек кода урвали из интернетов на паскалях и предъявили на защите, когда как я уже тогда написал игрушку на юнити в 2к строк кода, которые писал неделю из-за недостатка опыта и знаний.

 

Может я просто аутист?

nambavannarusi сказал(а):

Есть минусы:

1) CMS - система управления контентом.

Нажмите, чтобы раскрыть...

Мальца попутал и уже подправил сообщение в топике. CRM у меня, а не CMS.

Хоть убей - думаю одно, а пишу другое. 

Podpivasik

Пользователь

Регистрация: 14.07.2018

Сообщения: 30000

Рейтинг: 11109

Нарушения: 80

Podpivasik

Регистрация: 14.07.2018

Сообщения: 30000

Рейтинг: 11109

Нарушения: 80

ScoUpnell сказал(а):

А зачем книжки читать, если жизнь всему научит? Ну захотелось мне упороться слегка.

 

Курсач по программированию на первом курсе в группе никто сам не писал, лишь 40-60 строчек кода урвали из интернетов на паскалях и предъявили на защите, когда как я уже тогда написал игрушку на юнити в 2к строк кода, которые писал неделю из-за недостатка опыта и знаний.

 

Может я просто аутист?

Последнее редактирование: 1561309195
 
Нажмите, чтобы раскрыть...

я диплом начал писать за 3 дня до защиты, поэтому мне не варик было сидеть и упарыватся

Emulebest

Пользователь

Регистрация: 01.01.2014

Сообщения: 212

Рейтинг: 171

Emulebest

Регистрация: 01.01.2014

Сообщения: 212

Рейтинг: 171

ScoUpnell сказал(а):

Ох, спасибо огромное, архитектура SPA - это как раз то что нужно в данной ситуации. Моя дипломная работа получила новый параграф.

 

Насчет минусов я прочитал, и все равно мне не кажется, что в моей ситуации это будет плохим вариантом, так как количество одновременных пользователей небольшое, а уборка мусора заложена в фундамент системы. 

 

А зачем книжки читать, если жизнь всему научит? Ну захотелось мне упороться слегка.

 

Курсач по программированию на первом курсе в группе никто сам не писал, лишь 40-60 строчек кода урвали из интернетов на паскалях и предъявили на защите, когда как я уже тогда написал игрушку на юнити в 2к строк кода, которые писал неделю из-за недостатка опыта и знаний.

 

Может я просто аутист?

 

Мальца попутал и уже подправил сообщение в топике. CRM у меня, а не CMS.

Хоть убей - думаю одно, а пишу другое. 

Нажмите, чтобы раскрыть...

Архитектура SPA (Single page Application) это как раз то, что тебе не нужно . Тебе хватит простых шаблонов отрисованных на бэкэнде

nambavannarusi

Пользователь

Регистрация: 16.03.2014

Сообщения: 17

Рейтинг: 31

nambavannarusi

Регистрация: 16.03.2014

Сообщения: 17

Рейтинг: 31

Ну если CRM, то, на мой взгляд, однозначно стоит выбирать SPA. CRM - полноценное приложение, а не просто сайт. Насколько я знаю, современные CRM практически все используют SPA-подход (например, Битрикс24).

 

P.S. Это если говорить о том, если ты хочешь получить качественный продукт на выходе. Для диплома хватило бы и не SPA. Но я бы, скорее всего, тоже хотел бы сделать нормальный проект, а не дерьмо какое-то, так что поддерживаю.

ScoUpnell

Пользователь

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

ScoUpnell

Регистрация: 11.08.2013

Сообщения: 673

Рейтинг: 343

Podpivasik сказал(а):

у меня похожий диплом был, я скачал html шаблон готовой системы, наскринил его, запихал скрины в диплом и готово.

остальное все напридумал и дорисовал текстом.

 

Нажмите, чтобы раскрыть...

 

Только сейчас заметил твой ник и знатно проиграл.

 

Такой прям прям настоящий "подпивасник". Вернулся с завода, поиграл пару катосиков в дотку, а потом за ночь написал диплом 

Podpivasik

Пользователь

Регистрация: 14.07.2018

Сообщения: 30000

Рейтинг: 11109

Нарушения: 80

Podpivasik

Регистрация: 14.07.2018

Сообщения: 30000

Рейтинг: 11109

Нарушения: 80

ScoUpnell сказал(а):

Только сейчас заметил твой ник и знатно проиграл.

 

Такой прям прям настоящий "подпивасник". Вернулся с завода, поиграл пару катосиков в дотку, а потом за ночь написал диплом 

Нажмите, чтобы раскрыть...

ну примерно так и было, только я в доту катал прям в то же время как и диплом писал. 

в таверну отлетел - альттабаешься в диплом

igorlove

Пользователь

Регистрация: 20.12.2012

Сообщения: 2420

Рейтинг: 713

igorlove

Регистрация: 20.12.2012

Сообщения: 2420

Рейтинг: 713

img

Если у тебя есть готовое api, то можешь и сделать spa. Из минусов долгая первая загрузка, но при работе с сайтом будет казаться что работает все быстрее. Но это будет сложнее реализовать чем просто сделать вьюшки на бекенде.

Есть полно фреймворков, самые популярные angular, react и т.д.