LINUX.ORG.RU

Разработка Web-интерфейса с пользователем.

 ,


1

4

Уважаемые коллеги!

Сегодня существует великое множество различных т.н. «веб-фреймворков» для создания различных интерактивных сайтов. (Кстати, почему и зачем так много, что любой обыватель может легко потеряться в таком изобилии, лол?) Однако, практика показывает, что многие из этих модных-модных достижений силы современной программистской мысли преподносят не самые приятные сюрпризы уже после того, как разработчик их использующий, окунётся с головой в разработку своего очередного творения мирового масштаба, рассчитанного на сверхнагрузки (aka HighLoad в мечтах и фантазиях).

Поэтому резонно возникает вопрос: какой технологией для создания качественных (простых и надёжных) web-интерфейсов, которая вас не подводила, пользуетесь вы, уважаемые коллеги, профессиональные web-разработчики? :-)



Последнее исправление: azelipupenko (всего исправлений: 1)

Не совсем понял, что ты хотел спросить, но отвечая на вопрос в конце темы - мне нравится Django его и юзаю.

pi11 ★★★★★
()
Ответ на: комментарий от pi11

Django он больше про серверную часть приложения. Меня же больше интересует клиентская (браузерная) часть приложения.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Фронтенд-фреймворков в десятки раз меньше, чем серверных.

Непонятно зачем нужно столько обывателей.

anonymous
()
Ответ на: комментарий от chrisred

Да их там всего 2-3.

Может быть. Меня интересует опыт реального использования.

azelipupenko
() автор топика

разумный дисбаланс между фронтом и бэком, не светить айдишники, не лениться использовать prepare для sql-запросов, использовать БД как storage - не более этого, осваивать webpack в разумных пределах, уменьшая отдаваемый объем, искать достойные альтернативы jquery и не забывать про консольные браузеры

anonymous
()
Ответ на: комментарий от anonymous

разумный дисбаланс между фронтом и бэком, не светить айдишники, не лениться использовать prepare для sql-запросов,

Тут вопросов нет.

использовать БД как storage - не более этого,

Почему бы не использовать все возможности?

осваивать webpack в разумных пределах, уменьшая отдаваемый объем

Ну, допустим.

искать достойные альтернативы jquery

Зачем? Чем jQuery не достойна?

и не забывать про консольные браузеры

Кому они сейчас нужны? Ну, допустим, их используют 2,5% пользователей. Стоит ли из-за 2,5% пользователей поддерживать консольные браузеры? Я думаю, что не стоит.

azelipupenko
() автор топика
Ответ на: комментарий от anonymous

Вообще-то, если перевести диалог на русский язык, то можно отметить библиотек для разработки клиентской части приложений на Javascript существуют десятки. Изучать их при отсутствии опыта не так просто. Сверх того, существуют библиотеки для разных языков программирования, автоматически создающие HTML и JavaScript. Сверх того, серверную часть приложения можно писать на JavaScript благодаря наличию сервера приложений Node.js.

В данном обсуждении ответы столь же плохие, как вопрос. Автору темы надо подумать, какую задачу он хочет решить. Может ли он сделать это сам или надо привлечь программистов со стороны. Уяснив задачу, уже можно выбирать средства решения. А то по его вопросу может показаться, что «фрамеворки» изобретаются от нечего делать. Если так, то никакой из них ему не нужен. В действительности люди решают ими свои задачи.

Partisan ★★★★
()
Ответ на: комментарий от Partisan

В любом языке, в любой сфере существуют десятки библиотек под одни и те же задачи.

anonymous
()
Ответ на: комментарий от azelipupenko

использовать БД как storage - не более этого,

Почему бы не использовать все возможности?

стандартные возможности никто не отменял, но вот лезть на каждый чих в БД, делать из БД ООП это явный перебор ... много соблазнов и легко насобирать антипаттернов ...

искать достойные альтернативы jquery

Зачем? Чем jQuery не достойна?

достойна, только размерчик великоват

и не забывать про консольные браузеры

Кому они сейчас нужны? Ну, допустим, их используют 2,5% пользователей. Стоит ли из-за 2,5% пользователей поддерживать консольные браузеры? Я думаю, что не стоит.

no comments ...

anonymous
()
Ответ на: комментарий от Partisan

В данном обсуждении ответы столь же плохие, как вопрос. Автору темы надо подумать, какую задачу он хочет решить.

Вопрос такой, какой он есть. А он очень простой. И задача тоже простая, а именно: допустим, требуется создать web-интерфейс. Это означает, что будет использоваться JS. И тут без вариантов. Вопрос: какие надёжные вспомогательные технологии для этого существуют?

Может ли он сделать это сам или надо привлечь программистов со стороны. Уяснив задачу, уже можно выбирать средства решения.

Он может взять голый JS и писать в лоб, тут сомнений нет :-) Но вдруг есть какой-то вспомогательный софт (хотя бы такой, как jQuery, например), который позволит выполнить задачу быстрее?

Если так, то никакой из них ему не нужен. В действительности люди решают ими свои задачи.

Так может быть так и есть? И автор топика просто будет решать задачу как ему видится нужным, без использования всех этих модных-кул-фреймворков? Зачем они нужны то?

azelipupenko
() автор топика
Ответ на: комментарий от anonymous

стандартные возможности никто не отменял, но вот лезть на каждый чих в БД

Почему на каждый чих? Может быть, достаточно, на каждый HTTP-запрос?

достойна, только размерчик великоват

Ок. Какие альтернативы jQuery?

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Почему на каждый чих? Может быть, достаточно, на каждый HTTP-запрос?

может тогда http здесь лишний? или зачем он тут?

Ок. Какие альтернативы jQuery?

эта головоломка в чем-то круче нынешних

anonymous
()
Ответ на: комментарий от anonymous

может тогда http здесь лишний? или зачем он тут?

Ну так мы же о web-интерфейса тут говорим? Как HTTP может быть лишним в этом случае? Лол.

azelipupenko
() автор топика
Ответ на: комментарий от azelipupenko

Именно так. Не нужны. Вот тут могут понабежать и начать доказывать обратное. А сами доказывальщики как познакомились со своими фреймворками и инструментами? На галере. А что такое галера? Это такая херь где грести надо, а не сопли жевать с любовью выводя строчечки и создавая свой фреймворк четко заточеный под свое приложение. А если мы вспомним, то мы ведь пишем оч крутое приложение. Фейлпук с вкудахтом на чем работают?

deep-purple ★★★★★
()

Если вы по каким-то причинам решите выбрать SPA-реализацию сайта, то есть одни существенные «грабли», о которых стоит знать заранее - это индексация сайта поисковиками.

Дело в том, что единственный действительно рабочий вариант индексации SPA-сайта на текущий момент времени - это выдача поисковым роботам снапшотов страниц, как это описано в соответствующих спецификации от Google. Вот только нормально поддерживают эту спецификацию только сами гугловые роботы :). Остальные - Яндекс, Mail.RU, Bing, ... - по факту не поддерживают (по крайней мере, так было с годик назад). Хотя, если обратиться с подобным вопросом в ихние службы тех-поддержки, то будут божиться и врать, что у них с этим всё OK :) Всем этим «ребятам» приходится подсовывать снапшоты напрямую на основе анализа User-Agent. Аналогично приходится поступать и при обращении различных мобильных приложений.

Еще есть такие заверения от Google, что снапшоты скоро не потребуются - мол, их боты станут такими умными, что сами будут корректно извлекать содержимое страниц, динамически формируемых frontend-частью. Но поскольку эти заверения не сопровождаются предоставлением каких-то дополнительных требований к frontend-фреймворкам, то выглядит всё это очень несерьёзно - создается впечатление, что этим делом занимаются недостаточно компетентные люди. Ну и Яндекс и пр. туда же ... )

vinvlad ★★
()
Ответ на: комментарий от azelipupenko

Некоторые веб фреймворки работают на голых ws, там http нужет только 1 раз установить ws соедениение, а дальше обмен данными идет через ws.

Int0l ★★
()
Ответ на: комментарий от Int0l

Некоторые веб фреймворки работают на голых ws, там http нужет только 1 раз установить ws соедениение, а дальше обмен данными идет через ws.

Это совершенно не важно. Тут речь идёт о частоте обращения к БД. Коллега говорит, что на каждый чих - это плохо. Тогда как насчёт на каждый HTTP/WS запрос?

azelipupenko
() автор топика
Ответ на: комментарий от slovazap

Вариантов масса. Причем без фреймворков, нативно.

deep-purple ★★★★★
()
Ответ на: комментарий от vinvlad

приходится подсовывать снапшоты напрямую на основе анализа User-Agent

Ага, взял модных СПА фреймворк и страдаешь. Еще раз — только свой, только хардкор. Иначе твой сервис не сервис, а полное говно, продукт любителей смузи. Бекенд там тоже завязан, да — сам пиши.

deep-purple ★★★★★
()
Ответ на: комментарий от Int0l

А потом васян ставит твой фреймворк на шаред хостинг и отсасывает по полной, т.к. на шареде нет вебсокетов.

Вот чесслово, как можно верить в говно и быть такими недалёкими.

Ах да, я забыл, мы же пишем «своё» приложение. Но от этого не легче — опять куча зависимостей окружения. Я к тому, что, например, тот же вкудахт до сих пор юзает аякс таймауты.

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 2)
Ответ на: комментарий от InterVi

Ты видел СПА умеющее в ИЕ6? А я его написал, причём, легко встраиваемое (JSONp) в чужой сайт парой строчек скрипта, как и гуглосчетчик, например, только сайт в сайте. Нет, рабочую ссылку не дам — было давно и проект уже загнулся.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

А сами доказывальщики как познакомились со своими фреймворками и инструментами? На галере

Отнюдь. В свободное время. Потому что интересно узнать чужое решение, а иногда и проблему.

Фейлпук <...> на чем работают?

Типа реакт — не фреймворк?

Deleted
()
Ответ на: комментарий от Deleted

Отнюдь

Так это всеравно мнение галерщиков, воспитывающих новое поколение галерщиков.

реакт

Типа (о чем я изначально) сами для себя и написали?

deep-purple ★★★★★
()
Ответ на: комментарий от azelipupenko

А ты не путай хттп и вс запросы — вс уже законнекчен и соединение не разорвано. Ну это если только о скорости ответа говорить, вне контекста производительности БД, репликаций, ССД и прочих нюансов. А если вспомнить хттп2 то там как и в вс — коннект не разорван, так вс уже и в хер не впился. Ах, да, еще ж кип алайв — тоже норм, но это снова нюансы.

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 3)
Ответ на: комментарий от deep-purple

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

InterVi ★★★★
()
Ответ на: комментарий от InterVi

Да он херню тут пишет, галеры, галеры. Кроме галер ниче не видел. IT сфера довольно многогранна, есть куча разных приложений, которым не нужны никакие ajax/сокеты, и там джанга властвует, а есть аппы, где vue - самое то. Фишка в гибкости, нехер всё под одну гребенку грести.

menangen ★★★★★
()
Ответ на: комментарий от deep-purple

А ты не путай хттп и вс запросы

Ничего я не путаю. Прекрасно знаю что такое HTTP, что такое WebSockets.

вс уже законнекчен и соединение не разорвано.

Так я прекрасно знаю что такое постоянное соединение. Речь о запросе данных. Не важно, через HTTP, через открытый WS-канал, но если есть нужда брать данные из БД, то к ней придётся открывать либо новое соединение, либо брать соединение из пула. Потому что можно открыть 100500 постоянных соединений с сервером WebSockets, но нельзя открыть 100500 постоянных соединений с сервером того же PostgreSQL. Увы.

azelipupenko
() автор топика
Ответ на: комментарий от menangen

Да он херню тут пишет

Да это ты бревна в глазу не видишь.

Кроме галер ниче не видел. IT сфера довольно многогранна

И что там кроме галер? Стокилограмовые одинокие спермотоксикозники, пишущие вот эти сотни фреймворков?

есть куча разных приложений, которым не нужны никакие ajax/сокеты

Есть. И как это отменяет всё сказанное мно выше?

а есть аппы, где vue - самое то

Может и быть. Для чего-то же вуй был написан изначально. Но как это отменяет сказанное?

Фишка в гибкости

Фишка в правильном выборе инструмента. Видал тут в соседнем треде про «веб как он есть»? Вот это оно.

deep-purple ★★★★★
()
Ответ на: комментарий от azelipupenko

Верно. И тут может начать закрадываться мысль, что вс (как средство) для работы с БД ничем не лучше обычного аякса.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Анимация элементов - появление/исчезновение, чтобы оно там ездило/растворялось/улетало/etc. Плавная анимация скроллинга и ещё чтобы он «магнитился» к нужным секциям, чтобы были ивенты до/после перехода к секции и всё это не ломалось при изменении размера окна браузера. Ну и какой-нибудь параллакс.

InterVi ★★★★
()
Ответ на: комментарий от deep-purple

Верно. И тут может начать закрадываться мысль, что вс (как средство) для работы с БД ничем не лучше обычного аякса.

Ну, как бы, да, я об этом и говорю. У WebSockets есть одно преимущество - с его помощью можно передавать сырые байты без кодирования, а его двунаправленность позволяет уведомлять об изменениях БД (модель) интерфейс (вид) (привет, классический MVC). Но оба эти детали не так уж существенны и я соглашусь с тем, что обычный XmlHttpRequest сгодится для всего.

azelipupenko
() автор топика
Ответ на: комментарий от deep-purple

А потом васян ставит твой фреймворк на шаред хостинг и отсасывает по полной, т.к. на шареде нет вебсокетов.

Вот чесслово, как можно верить в говно и быть такими недалёкими.

Шаред хостинг - PHP detected.

Вот чесслово, как можно верить в PHP и быть такими недалёкими?

Про jsonp тоже порадовало. Это значит у тебя ЛЮБЫЕ данные как часть url-ла и любой веб-сервер или reverse http proxy это в лог по умолчанию открытым текстом пишет. Забота о приватности пользовательских данных на высоте, чё.

anonymous
()
Ответ на: комментарий от anonymous

Шаред хостинг - PHP detected

Любителям этого, на твои доводы плевать.

Это значит у тебя ЛЮБЫЕ данные как часть url-ла

Не поймал, чё. Пост запросы летели через сабмит форм, все как обычно, только на другой хост.

deep-purple ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.