LINUX.ORG.RU

Что выбрать для веб приложения, чтобы спокойно спать?

 


1

1

Привет, ЛОР.

Я не профессиональный разработчик, но пописываю на C++, Python небольшие утилитки и всякие эксперименты. Но появилась задача написать небольшое веб приложение. Когда-то я немного изучал PHP, HTML, CSS, но скорее для интереса, ничего серьёзного не писал.

Вопрос вот в чём: какие технологии для frontend и backend лучше сейчас использовать, чтобы люди, которым это достанется по наследству, не искали меня с целью отомстить? Стоит ли для небольшого приложения использовать на frontend какой-то framework или просто накидать немного HTML и приправить CSS? Для backend ещё сложнее, там ворох языков и framework’ов.

Ответ на: комментарий от MOPKOBKA

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

Про PHP я уже писал - это древний язык из эры Apache, CGI. Сегодня его для новых проектов использовать не стоит.

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

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

Вернись выше по треду, это я первый тебе написал о проблемах. Говорить что я их игнорирую, это странно. И у меня есть опыт воскрешения старых проектов.

Про PHP я уже писал - это древний язык из эры Apache, CGI. Сегодня его для новых проектов использовать не стоит.

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

MOPKOBKA ★★★★
()

Я не профессиональный разработчик, но пописываю на C++, Python

Если тебе надо как-то сохранять данные из форм, воспользуйся google forms.

чтобы люди, которым это достанется по наследству, не искали меня с целью отомстить?

Хоть каждую строку задокументируй – будут названивать еще 2 года с просьбами помочь в их косяке разобраться.

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

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

А декодировать куки не надо. Если клиент хочет туда класть что-то странное - пускай сам эскейпит-деэскейпит как ему угодно. Есть набор допустимых символов, всё остальное - кидаем исключение и всё. Всякие UUID, JWT туда влазят нормально, а остальное туда класть - это уже странно.

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

чтобы люди, которым это достанется по наследству, не искали меня с целью отомстить?

Плохие новости: всё, что вы сделаете, скорее всего будет отстойным, потому как вы новичок в сложной области. Хорошие новости: но этот веб, тут отстой — это норма, так что не парьтесь. Потом, всё быстро устаревает, так что ваши наследники совершенно не будут удивлены, что им достался какой-то говнокод на древних фреймворках/библиотеках. Отсюда вывод: выбирайте что хотите, чего хочется изучить, то и сгодится. Так, вы по крайней мере получите удовольствие от процесса, ну и выучите что-нибудь интересное.

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

PHP это язык для домашних страниц: Personal Home Pages. Для веб-приложений он не подходит.

Wikipedia, Facebook, Flickr, Slack, Baidu, Drupal/Wordpress...

Если говорить за бэкенд, то какая разница какой язык для GraphQL/REST использовать?

Фронтэнд = React/Vue/Svelte.

Shadow_Walker
()

Бери всегда самое модное на текущий момент. В случае чего расскажешь людям с паяльником, что не особо искушен в данной теме, а эту дрянь все вокруг использовали 🤷‍♂️.

Virtuos86 ★★★★★
()

веб приложения

чтобы спокойно спать

Я не настоящий сварщик, но судя по тому, что пишут на хабре, это взаимоисключающие параграфы. Жалуются, что там настоящий ад, и каждые 2 года приходится переучиваться на новую теперь-то уж точно правильную технологию. С удовольствием почитаю от экспертов ЛОРа опровержение.

// Мимо крокодил десктопный и чуть-чуть серверный C++ разработчик.

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

Я не настоящий сварщик, но судя по тому, что пишут на хабре, это взаимоисключающие параграфы. Жалуются, что там настоящий ад, и каждые 2 года приходится переучиваться на новую теперь-то уж точно правильную технологию. С удовольствием почитаю от экспертов ЛОРа опровержение.

Можно с 2000 не вылезать из криокамеры, причем занимаясь и бекендом и фронтендом. Для бекенда взять Bitrix или Wordpress, а то и чистый PHP, а для фронтенда jQuery. Вполне распространенный вариант, вон у Astra Linux НОВЫЙ сайт на битриксе с жыквери.

Даже если взять React, он появился в 2013, это самый популярный смузи-фреймворк. 11 лет без переобучения.

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

Спасибо. А Laravel живой? Один бывший коллега его ну прям очень хвалил, правда, давно с ним (коллегой) связи нет.

вон у Astra Linux НОВЫЙ сайт на битриксе с жыквери.

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от MOPKOBKA

Жесть.

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

Если начинать программирование с PHP и Bitrix, Wordpress, иже с ними, то это:

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

Можно как угодно относиться к PHP (это всегда был плохой язык, который претерпел какие-то небольшие улучшения спустя десятилетия, но вдаваться в детали не буду), но сейчас совершенно очевидно, что пик его популярности пройден, и впереди только период доживания.

Зачем его изучать человеку, который стоит на распутье? Чтобы обеспечить себе «карьеру», состоящую из копания в легаси, которое представляет собой мегатонны кода, написанного методом copy paste (основной архитектурный паттерн PHP программистов)? Ничего нового, хорошего, интересного, на нём написано уже не будет.

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

Спасибо. А Laravel живой? Один бывший коллега его ну прям очень хвалил, правда, давно с ним (коллегой) связи нет.

Живой, и очень популярный.

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

Вполне возможно https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=32&CHAPTER_ID=016782&...

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

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

Какие то эмоциональные высказывания, вместо реальных аргументов.

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

Ну возьмем некоторые «паттерны» из Bitrix: controller, model, orm, service locator. Это они вызывают такое? А где их нету?

Напрасная трата времени на изучение языка и подходов, которые давно устарели, и не имеют никаких перспектив.

Дела у 1C вроде хорошо идут, Bitrix24 везде внедряется, сайты новые на 1C-Bitrix запускаются постоянно. И далеко не все из них «интернет магазины».

но сейчас совершенно очевидно, что пик его популярности пройден, и впереди только период доживания

О, уже переписали Wordpress на модный язычек? Можно узнать название этого проекта, и сколько от количества Wordpress сайтов он занимает? Альтернатив тупо нету, когда появятся конкуренты хотя бы, тогда и приходи.

Чтобы обеспечить себе «карьеру», состоящую из копания в легаси, которое представляет собой мегатонны кода, написанного методом copy paste

Этим можно заниматься на любом языке.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от static_lab

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

andalevor ★★
() автор топика

чтобы люди, которым это достанется по наследству, не искали меня с целью отомстить?

Я не профессиональный разработчик

Иллюзия выбора.

Ghostwolf ★★★★★
()

Стоит ли для небольшого приложения использовать на frontend какой-то framework или просто накидать немного HTML и приправить CSS?

по потребности, можно начать с простого

люди, которым это достанется по наследству, не искали меня с целью отомстить?

Для backend ещё сложнее, там ворох языков и framework’ов.

Django

MaZy ★★★★★
()
Последнее исправление: MaZy (всего исправлений: 1)
Ответ на: комментарий от andalevor

У apache2 есть модули авторизации, можно свое что то не делать. https://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html

PHP умеет принимать загружаемые файлы, и отдавать другие. https://www.php.net/manual/en/features.file-upload.post-method.php

Из PHP так же легко вызывать что угодно, есть функции для разделяемой памяти, работы с сокетами, итд.

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

Тогда все что угодно(приятнее для тебя). Laravel или NestJS или Django

ИМХО NestJS ваще идеальня вещь для «небольшого api-бэкенда»…

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

Я бы обходил стороной любые фронтенд-фреймворки, ванильными html / css / js можно сделать очень красиво, функционально и небольшими средствами. Конечно первое время придется почитать про всякие элементы html, гриды-флексбоксы, медиа запросы, Fetch API и кучу всего, но если приложение действительно небольшое, то это сработает, т.к. в процессе ты поймешь что сложно, что требует много внимания, что легаси, и такой вот непрекращающийся буллшит-контроль даст свои плоды. Зависимостей будет 0, не надо думать ни про всякие питоны, пыхи, реакты, вуи, как тебе, так и тем, кто будет после тебя. Если же оно начнет разрастаться, то следующий шаг - шаблонизаторы html, но это уже другая история.

С бэкендом все проще - бери любой на языке, где под твою предметную область что-то есть.

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

На бэке Go, Node или Python.

Что за вредные советы?

Из этого списка только питон вообще стоит рассматривать, остальное сразу на помойку и руки помыть если притрагивался. А так простые веб-сайты проще всего делать либо статическим html (если его хватает) либо на пхп.

firkax ★★★★★
()

портал типа Liferay/Тезис с Web Components на фронте(популярные жс фреймворки это ад антипаттернов и вы скорее сами себя проклянете раньше чем вас). Если не можешь портал то jmix, spring или любой другой jakartaEE фреймворк (quarkus, helidon)

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

Дела у 1C вроде хорошо идут, Bitrix24 везде внедряется

а жмитрикс же отключается если не заплотил за лицензию или подыхает от эксплуатации дыр вирусней с отсутствием доступа к обновлениям?

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

Даже если взять React, он появился в 2013, это самый популярный смузи-фреймворк. 11 лет без переобучения.

каждый рякт проект это «уникальное» архитектурное решение, там было 2-3 подхода к структурированию компонентов (класса, лямбды и функции с хуками), штук 5-10 для организации персистенс и бизнес-логики (флюкс, мобикс фага/фанк, и еще куча какой-то хрени). Выбор использовать жквери или один из популярных жс-фреймворков просто ошибочен и уродлив по-своему, при любом из них результат будет тяжело поддерживаем внезависимости от квалификации разработчиков. Правда менеджмет такие страшные проекты любит, т.к. на них удобнее нахлобучивать айтишников, выставлять их виноватыми и вывозить зарубеж.

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 2)

Почитал комменты, ну и в общем, всех не слушай, слушай меня. А то тебе тут насоветуют.

Проще всего связать веб морду и бек через REST API, всякие другие протоколы требуют слишком много усилий для твоего проекта. БД надо брать из разряда то чем все пользуются, либо постгря, либо монго.

  • Back-end: Если проект простой и идем по пути наименьшего сопротивления, то берем фреймфорк ИЗ ЯЗЫКОВ, КОТОРЫЕ ТЫ УЖЕ ЗНАЕШЬ. С++ дает меньшую производительность труда, поэтому я бы порекомендовал взять питон, я на нем не пишу, но слышал хорошие отзывы про FastAPI для создания апишек и PyTest для тестирования.

Еще, скорее всего, понадобиться SQLAlchemy для доступа к БД и Alembic если версий БД будет несколько штук и понадобиться катить миграции или записывать в пустую БД дефолтное состояние.

  • Front-end: Тут целый зоопарк, но если ты хочешь сделать проект, а не пердолиться с фреймворками по полгода, то тут вариантов всего два:
  1. Статических страницы или генерация статики
  2. HTMLX - это js либа, которая позволяет писать сайты на чистом HTML, но как бы расширяет возможности HTML. Ты можешь динамически обновлять контролы и легко привязывать АПИшки, а что тебе еще надо для простого сайта?! Всякие Vue.js \ React и черт знает еще что, требуют длительного обучения, а с HTMLX можно сразу в бой и 99.5% оно позволяет делать всего того, что делают популярные фреймфорки
AntonyRF ★★★★
()
Ответ на: комментарий от vbr

Для веб-приложений он не подходит.

он будет работать как задумано пока ты не нагрузишь его миллионами qps. а когда нагрузишь - можно просто поднять ещё пару нод и всё будет ок.

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

Ну, да, я хоть и являсь любителем подушить питона, но я хотя бы признать могу, что PHP побыстрее Java работает и уступает по скорости лишь Node.js, но при собюдении опр условий… Но как язык архитектурно он полное дерьмо, потому как испытал влияние множества языков от той же Java до Perl и иврита (Paamayim Nekudotayim) и даже оператор goto для полного треша вводили по просьбе C-онистов. Я бы не советовал его учить первым уж лучше C# или даже Java, в Python тоже не нужно лезть, пусть он будет Илитраным языком для марсиан

rtxtxtrx
()

Пиши на Java. Он был до PHP, питона, руби, раста и прочей швали и переживёт их. Java будет вечен, как C, C++ и Cobol. Только не используй модные фреймворки, а что то приземленное ближе к земле, например Tomcat. Заодно знаний наберешь как вообще этот http устроен на самом деле.

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

О, уже переписали Wordpress на модный язычек?

На каждом ЯП не меньше 10.

Можно узнать … сколько от количества Wordpress сайтов он занимает?

Всё «количество WP» - это нищеброды, которые наскребли только на shared хостинг. Альтернативы берут не количеством, а качеством.

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

Всё «количество WP» - это нищеброды, которые наскребли только на shared хостинг. Альтернативы берут не количеством, а качеством.

Перечисляю список сайтов нищебродов:

Всё «количество WP» - это нищеброды, которые наскребли только на shared хостинг. Альтернативы берут не количеством, а качеством.

В чем измеряется качество? Как я считаю, Wordpress очень качественный и вкусный. Попрошу не упоминать уязвимости в сторонних плагинах.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

Перечисляю список сайтов нищебродов

Это полный список, всё то «количество» о котором были твои инсинуации? Тогда очень жиденько, ни один wordpress в процессе не пострадал. Две штуки – госсуха, платящая подписку сервису Automattic (критерии – американская компания, сотрудники - граждане США, допуск), при том, что каждая администрация вообще приходит со своим сайтом. И пара лэндингов от индусов, с субподрядчиком одного из которых я был знаком. Схема простая: американская компания заключает договор с Disney, Ebay, CNN и т.д. По цепочке передают задания, в результате в самом низу пищевой цепи студент из солнечного Ташкента пилит что может за несколько долларов в час. О каких технических преимуществах и перспективах здесь идёт речь?

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

Это полный список, всё то «количество» о котором были твои инсинуации?

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

Схема простая: ...

И как эти схемки влияют на Wordpress? Или ты тоже индус, и когда низшие касты прикасаются к Wordpress ты считаешь последний духовно нечистым?

О каких технических преимуществах и перспективах здесь идёт речь?

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

Если его может использовать даже студент как ты сказал, то это значит что он имеет настолько мощные абстракции, то может скрыть всю ненужную сложность от разработчика.

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

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

Я просто не знал

Не переживай, это профессиональное. Отсутствие всякой мозговой активности - характерная черта пользователей WP.

И как эти схемки влияют на Wordpress?

Половина тобой перечисленного – один единственный инстанс WP: wordpress.com.

когда низшие касты прикасаются к Wordpress ты считаешь последний духовно нечистым?

Когда разработка на каком-либо стеке – удел малооплачиваемых недоучек, я считаю последний бесперспективным. Но тут каждому своё.

Ты слишком толст, старайся лучше.

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

Когда разработка на каком-либо стеке – удел малооплачиваемых недоучек, я считаю последний бесперспективным. Но тут каждому своё.

Понял, наличие не слишком погруженных в технологии разработчиков, для тебя является минусом Wordpress. Ну то есть у тебя реально логика, которую я описал, Wordpress в твоем понятии становится «духовно грязным». Магическое мышление, но тебя это видимо не смущает, а значит что попытки тебе что то объяснить бесполезны.

Ритуалы, заповеди, необъяснимые правила... Глупо спорить с человеком, для которого это основы мышления. С твоей стороны тоже глупо пытаться придать своим аргументам серьезный вид, может тебе сразу писать: «я верую в ...»? Тогда не создавалось бы ложного впечатления, что ты просто не имеешь достаточно информации.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 4)
Ответ на: комментарий от MOPKOBKA

Если физик-ядерщик не идёт работать лаборантом в днищенскую школу и не рекомендует её другим как перспективную, то у него магическое мышление. Ясно, понятно.

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

Он был до PHP, питона, руби, раста и прочей швали

Ты будешь в шоке, но питон, раби и похапе старше джавы. Она была популярнее всех этих языков, вызвав всеобщий интерес после своего появления, но этот эффект быстро сдулся, и лишь мобильная разработка возродила к ней интерес. Сейчас джава - это легаси родом из 90-х и мусорные донатные помойки в плеймаркете


И что интересно, так это то, что Java Script взлетел благодаря паразитированию на вау-эффекте от выхода джавы

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

Бери джангу и делай по старинке в духе веб1.0, когда отправка формы или клик ссылки загружают новую страницу. Джанга даст бесплатную админку, нормальную регистрацию/авторизацию и фреймворк для формочек. Но джанга требует хоть какую-то базу данных и начало проекта порождает много файлов.

Если же нет необходимости держать много разных пользователей, а нужно просто закрыть простейшую форму отправки паролем, то даже джанга будет не нужна, можно обойтись настройкой HTTP Basic authentication в веб-сервере. В питоне есть прям в стдлибе несложный HTTP сервер, ему можно прикрутить GET с формой, и POST для отправки формы и выдачи результата. Если хочется что-то чуть менее кривое, чем сервер в стдлибе, то можно использовать Flask.

Чтобы опытные не ругались, проще всего нанять этих опытных, чтобы они это сами сделали. Либо сделать максимально просто, как описал выше, либо джанга, либо фласк, либо простой HTTP сервер. Очень желательно всё упаковать в докер/докеркомпоуз, чтобы поднять всё в новом месте/локально можно было за 15 минут.

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

А с чего проект должен сдохнуть?

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

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

BaBL ★★★★★
()