LINUX.ORG.RU

Совет по разработке веб фронта для неразработчика

 , , , ,


2

3

Хочу сделать несколько простых веб сервисов (или как это правильно называется, когда есть веб фронт с заполнением чего-то, вычислением и представлением каких-то результатов?). Хочу именно сам, потому что и полезно, как вспомогательная деятельность, и интересно.

Более подробно: под мои задачи сделать веб страницу с полями, куда я ввожу какие-либо данные, которые заносятся в БД (sqlite, наверное, данных не так много, может на пару десятков тысяч строк), потом производятся некоторые расчеты, которые выводятся на страницу. Динамического обновления не надо, просто статика. Нажал - обновилась страница - результат показался. Ввел данные - нажал кнопку - данные отправились в БД. Красивостей особых не надо. По сути - заполнение бд, расчет, предоставление результата. Одна из крайне желательных фич, которую хочу внедрить, - выпадающий список с авто дополнением некоторых полей. Например, вводишь «карт», а тебе предлагают для дополнения из базы (это для связанных полей many-to-many), варианты «карта», «картошка», «картина» и т.д.

Что я немного умею: баш, питон (пара скриптов с простыми классами на пару тысяч строк).

Вопрос: что взять в качестве инструмента (вроде у питона есть фреймворки (джанго, фласк и т.п.)), но мне не хватает знаний/опыта понять, подходят ли они)? Оставить питон или взять какое-нибудь php? Может БД тоже другую? Мне не нужно перспектив разработчика, нужно чисто для себя и решить свои задачи при этом.

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

Если получиться что-то более-менее вменяемое - выложу в открытый доступ, чтобы пользовались все нуждающиеся. По заветам FOSS. Хотя кому это надо…

P.S. Всякие airtables и аналоги не подходят. Много лишнего, формат работы с базой неудобный, нет нужных выводов информации, нельзя при желании расширить самому как мне нужно не влезая в их код, а чтобы мне туда влезть намного больше сил и времени уйдет, чем самому сделать точно как мне надо.

Перемещено hobbit из general

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

Покажи пример «мути».

Заходишь почти в любой современный «проект» на пхп, открываешь любой файл и там вверху простыня из «use», из которых 90% это скриптовые блоатварные заменители для стандартных возможностей языка (таких как echo или mysqli_query), а оставшиеся 10% это то, что надо было заменить на require. Ну и выкинуть автолоадер, разумеется.

Заодно, как по-твоему, всё это появляется

Поскольку от всего этого несёт джавой за километр, подозреваю что это карго-культ по ней. Только вот если нужна джава, то она уже есть, а у пхп (у того пхп, который нужен) совсем другие задачи.

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

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

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

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

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

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

Goury ★★★★★
()

Господин неразработчик, посмотрите сюда:

General — общий форум для технических вопросов, не подходящих в другие группы

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

Development — программирование и разработка ПО под Linux/Unix


Кажется, вы даже один из тегов поставили на свой пост, очень похожий на тот раздел форума.

Кого бы попросить перенести тред, может быть, hobbit это сделает?

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

Как для меня выглядит PHP:

<?php

Какой-то код на C. 😎

?>

На любом хостинге PHP есть и работает из коробки, редактируется в блокноте, «запускается» по F5 в браузере. Идеально для «попробовать».

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

Та же нода уделывает пхп во всем,

Ты серьёзно? Вот уж что-то а эту пакость вообще нигде не надо.

Блин, я даже и не думал, что кто-то всерьез пишет на пхп, это ж такое дерьмище редкостное

Учитывая твой положительный отзыв про nodejs, этот тоже всерьёз не стоит принимать.

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

На любом хостинге PHP есть и работает из коробки, редактируется в блокноте, «запускается» по F5 в браузере. Идеально для «попробовать».

Всё было бы прекрасно, если бы пыхокодеры после этого «попробовать» чему-то учились, а не продолжали и дальше гнать ту же лапшу, которую они как-то нашкрябали в первый день…

Увы, так не получается, и в итоге появляются лапшеобразные big ball of mud, состоящие из гигантских похапэ файлов, миксующих PHP и HTML в каждой второй строке, на 70-80% состоящих из копипасты (видел коммерческие(!) похапэ проекты, где вместо функций использовался copy-paste кусков кода!)…

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

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

Рельсы сейчас очень малопопулярны, тем более, что сам подход рельсов в нынешних условиях устарел. Django основывается на той же концепции, но Django имеет квинтиллион батареек на все случаи жизни и на Django написан просто очешуительный объем кода, поэтому он не сдувается и будет востребован какое-то время, думаю, что ещё несколько лет, если не десяток лет.

Однако, на Ruby написаны большие крутые и живые проекты: GitHub и GitLab. Есть и ещё какие-то, но я знаю только эти два. Так что, жив курилка…

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

блоатварные заменители для стандартных возможностей языка (таких как echo или mysqli_query)

Прости, но это сразу выдаёт, что серьёзной разработкой ты не занимался. Эти «заменители» нужны, чтобы предотвращать SQL инъекции хотя бы, и для того, чтобы проект был расширяем и понимаем в течение хотя бы нескольких лет.

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

В том-то и дело, в компании, в которой я работал в 2018 году был куплен один «успешный» (в смысле, имеющий пользовательскую базу) PHP проект, который мне поручили поддерживать, пока не наймут PHP-прогаммиста. Я проклял всё на свете. Да, очень круто разбираться в коде, когда у тебя десятки файлов на 20,000 строк, в которых дублируется 50-70% кода, в т.ч. использующего mysqli_query, в том числе и поэтому, всё в дырах sql injection, которые пока найдешь и исправишь в этих простынях, рехнешься….

В общем, пока у тебя не будет реального опыта поддержки большого проекта годами, объяснять бесполезно. Ну и при этом для расширения кругозора стоило бы попробовать что-то ещё, помимо PHP, чтобы понять, что не всё является карго-культом, а кое-что очень упрощает разработку и поддержку, когда тебе надо сделать что-то реально сложное, а не пару CRUD-формочек. И что вот этот примитивный подход: «щас накидаю echo с mysql_queryi прямо в хэтээмэль» совершенно не масштабируется.

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

Прости, но это сразу выдаёт

А давай не будем некомпетентные диагнозы ставить? Что такое sql-инъекции я знаю, и происходят они только при фатально неправильном подходе к разработке. У mysqli_query минус только один: вызывать его (и mysqli_real_escape_string для строк и какой-нить страховочный intval для чисел) напрямую приводит с трате слишком большого количества символов в коде, он в итоге выглядит мусорно и некрасиво. Для простых случаев это решается алиасом типа escstr($s)=mysqli_real_escape_string($link,$s), для чуть посложнее - простой функцией для написания запроса (у меня была такая что %s заменяет на кавычки + экранированный строковый аргумент). А те (плохие) обёртки, о который писал я - опять многостраничные простыни с многослойными бесполезными абстракциями.

Если бы ты поддерживал какой-нибудь серьёзный проект на десятки-сотни тысяч-миллионы строк кода

Проект на миллионы строк кода не должен быть на пхп. В том и дело. Пхп - для простых проектов. И надо максимально пользоваться его простотой. Если проект перестаёт укладываться в простые рамки - не надо тащить в пхп сложность, надо переделывать проект на другой язык (и, по моему мнению, это не питон и тем более не нодежс, а как минимум джава, а лучше - си или с++, но тут уже сложно грамотных исполнителей найти). Кто-то скажет, что такое переписывание это трата времени и лучше сразу писать на «другом языке». Да, это трата времени, но выигрыш от первоначального написания на пхп (если писать на нормальном пхп а не на джава-каргокультрованном) - намного больше. Причём этот выигрыш больше не только чисто по цифрам, но и по ничем не заменимому более раннему попаданию в прод с нуля. А потом - может быть проект так навсегда и останется простым, и не надо будет ничего переделывать.

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

Проект на том же Django ничуть не сложнее начать, при этом он может расти и развиваться почти до бесконечности (Instagram, к примеру, и множество других).

Django делает простое простым, а сложное - возможным. Но да, надо потратить некоторое небольшое время на то, чтобы прочитать tutorial, который предельно прост и понятен.

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

Да и php только на это и способен, чтобы «попробовать» и забыть.

Похоже у вас неправильный подход - после «попробовать» идёт не «забыть», а анализ и принятие решения.

Вполне возможно, что PHP подойдёт для реализации проекта, конечно с учётом специфики. Ведь он обеспечивает смещение вычислений с клиента на сервер, соответственно полезен там, где на клиенте недопустимо выполнение практически ничего (нет JS, нет CSS и т.п.).

Как к языку, к PHP не может быть претензий, он и матёрый (27 лет) и современный - последний стандарт PHP 8 вышел недавно, в 2020 году, имеет инкапсуляцию, пространства имён, модные замыкания, обзавёлся строгой типизацией, и давным давно использует JIT-компиляцию, есть публичный репозитарий расширений для чего-угодно Pear.

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

Проект на том же Django ничуть не сложнее начать

Серьёзно?

https://djangocentral.com/create-a-hello-world-django-application/

Вот это всё не сложнее чем «создадим файл из одной тривиальной строки и обратимся к нему из браузера»?

Ну и там, где-то на десятой странице мануала по хелловорлду, как раз пример импортирования всякого мусора:

from django.http import HttpResponse

Вот пишу я скрипт ответа на http-запрос, и нет никакого желания ещё в скрипте импортировать движок ответов на http-запросы, оборачивать этот самый ответ в какие-то объекты и какую-то функцию. Я хочу просто написать «отдай браузеру 'hello world!'», и что б оно само работало. Малейшие дополнительные синтаксические конструкции вокруг этого, заведомо тавтологические и бесполезные, сразу портят настрой.

при этом он может расти и развиваться почти до бесконечности (Instagram, к примеру, и множество других).

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

У питона по сравнению с пхп конечно намного более хороший request loop (внутри приложения, без запуска скрипта с нуля на каждый запрос), но на низких нагрузках это всё не нужно и критерии выбора другие (этот хороший request loop усложняет кодинг с нуля), а на высоких не нужны скрипты.

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

Автор вопроса его уже знает на каком-то уровне

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

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

Дальше где? Знания о Django и Flask совершенно бесполезны вне Django и Flask

Область применения PHP сильно ограничена

PHP гораздо больше похож на дефолтный язык программирования в вакууме, а современные подходы ближе к энтерпрайзу. Перейти с пыха на жабку, например, будет гораздо проще чем с говнопитона, где 99% пейсателей не слышали про DI.

no-such-file ★★★★★
()
Ответ на: комментарий от firkax

Поэтому надо брать фласку или fastapi

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return app.send_static_file("index.html")
from fastapi import FastAPI
from fastapi.responses import FileResponse

app = FastAPI()

@app.get("/")
def root():
    return FileResponse("index.html")
mydibyje ★★★
()
Ответ на: комментарий от emorozov

Рельсы сейчас очень малопопулярны, тем более, что сам подход рельсов в нынешних условиях устарел. Django основывается на той же концепции, но Django имеет квинтиллион батареек на все случаи жизни и на Django написан просто очешуительный объем кода, поэтому он не сдувается и будет востребован какое-то время, думаю, что ещё несколько лет, если не десяток лет.

Это классический случай NIH-синдрома, когда питонисты просто выбирают джангу по понятным и объективным причинам и ничего не знают, что там в мире рельсы (и наоборот), потому что им это не нужно и знать незачем. Под рельсы написано не меньше батареек и именно поэтому он не сдувается и будет востребован какое-то время, думаю, что ещё несколько лет, если не десяток лет.. В рельсах теперь всё на веб-сокетах и турбостримах, тэйлвинде и никто не держится ни за какой подход, наоборот, каждую мажорную версию впиливают что-то радикально новое, что, правда, выливается, порой, в серьёзную боль при апгрейде приложений.

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

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

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

Джа ладно.

Давай посмотрим в class based views, указываем модельку, и тут тебе надо подтянуть другую модельку, и что начинается? правильно начинаем переопределять какие-то методы, тащить что-то и класть в респонс доп информацию. НО в шаблоне к основной модельке ты имеешь доступ к obj, или object_list(я уже не особо помню, как там оно разделяется в зависимости от родительского класса), а к остальному всё подругому. И ты говоришь что нет магии?

Да там одних миксинов миллион! Хотя да, если ты привык копаться в дерьме то это нормально.

Вспомним то же

User.objects.filter(someattr__gte=0)

Да ладно? почему нельзя было сделать

User.objects.filter(someattr > 0)

И ты говоришь что нет магии? 0_0

Эт я еще молчу про drf, там вообще п-ц.

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

Да ладно? почему нельзя было сделать

Потому, что язык и архитектура джанги это позволила только так сделать наименьшими усилиями. Различия не принципиальны. Считай это DSL Djang’и

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

Он напишет свой одностраничник и он будет автономно работать ещё 15 лет вперёд, безо всяких доработок и переписываний.

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

А во-вторых для голого php web-сервер нужен и сам php от версии к версии очень сильно ломает совместимость. Обновляя сервер все-равно придется сопровождать код.

adn ★★★★
()
Ответ на: комментарий от no-such-file

Дальше где? Знания о Django и Flask совершенно бесполезны вне Django и Flask

а знание PHP совершенно бесполезно вне примитивного web’а

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

Люди к сожалению не умеет жить, а тем более писать программы в вакууме и поэтому на php не написано ничего за рамками примитивного web’а.

говнопитона, где 99% пейсателей не слышали про DI.

прямо читается обида. Ты не накручивай себе - python не так сложен и тебе он вполне по силам

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

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

python-у 31 год вообще-то и он старше php

и хипстеры, на самом деле лет 10 как закончились

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

есть jit реализация. Pypy

Это костыль и он не реализует питон.

jit в ноде

Да в ноде очень крутая оптимизация. Поэтому нода рулит и составляет пыху конкуренцию. А питон нет.

no-such-file ★★★★★
()

Ууууу, понаписали тут каки. Не слушай их, автор.

Лучший язык это тот который знаешь. Питон ты знаешь, написать то что ты хочешь не составит труда и больший профит сделать это без фреймворков. Но ты задолбаешься конечно делать это на питоне не меньше чем если бы взял пых с ноля (просто потому что питон плохой выбор для веба, да и сам он как язык говно ИМХО).

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

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

знание PHP совершенно бесполезно вне примитивного web’а

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

У питона свой путь и свои подходы. Опыт с питона не переносится никуда.

поэтому на php не написано ничего за рамками примитивного web’а.

«Примитивный» веб сегодня составляет бОльшую часть от программирование вообще.

прямо читается обида

Что, не нашлось аргументов? ЛОЛ ну конечно, ведь это правда. Вообще, на собесе сразу видно людей с питоном головного мозга.

no-such-file ★★★★★
()
Ответ на: комментарий от ggrn

Давай посмотрим в class based views, указываем модельку, и тут тебе надо подтянуть другую модельку, и что начинается? правильно начинаем переопределять какие-то методы, тащить что-то и класть в респонс доп информацию. НО в шаблоне к основной модельке ты имеешь доступ к obj, или object_list(я уже не особо помню, как там оно разделяется в зависимости от родительского класса), а к остальному всё подругому. И ты говоришь что нет магии?

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

Это не магия.

Да там одних миксинов миллион! Хотя да, если ты привык копаться в дерьме то это нормально.

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

Вспомним то же

Это пример немагии. Магия скорее была бы в случае с someattr > 0. Да и вообще, не вижу ничего криминального. Я не знаком с ORM в других ЯП, но полагаю, что в большинстве ORM реализовано нечто похожее.

И ты говоришь что нет магии? 0_0 Эт я еще молчу про drf, там вообще п-ц.

У тебя неверное представление о том, что означает слово «магия». Здесь не магия, а паттерн IoC, он к магии не имеет никакого отношения.

emorozov
()
Ответ на: комментарий от no-such-file

У питона свой путь и свои подходы. Опыт с питона не переносится никуда.

100%-я чистая ложь, подозреваю, что либо от тотального незнания предмета, либо намеренная.

emorozov
()
Ответ на: комментарий от no-such-file

Перейти с пыха на жабку, например, будет гораздо проще чем с говнопитона, где 99% пейсателей не слышали про DI.

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

Я думаю, если посчитать процент SQL injections по языкам, то PHP будет держать пальму первенства, потому что там SQL injection встречаются постоянно (в тех же плагинах для WP их обнаруживают чуть ли не еженедельно), потому что «крутые» всезнайки PHP до сих пор пишут: mysqli_query("SELECT * FROM users WHERE username " . $GET['username']) (псевдокод, точный синтаксис PHP не помню).

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

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

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

Я только лишь напомню несведущим лорчанам, что субкультура хипстеров (исчезнувшая, кстати, к середине прошлого десятилетия), так вот отличительной её чертой было показушное ретроградство. Вдруг напоказ стать восхвалять и слушать грампластинки или кассеты, делать заметки в hipster PDA, ища «старые добрые времена», которые деликвент не застал - вот это всё.

Так что к хипстерству причастны как раз те, кто к месту не к месту плачется по поводу «CADT», или же начинает в 2$22 веке новые проекты на сишечке и прочих фортранах, чтобы «не так как все» 8-)

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

Давно никто не пишет сайты на питоне, хайп прошёл. Пых живее всех живых.

Спасибо. Поржал с утреца)

Только почему-то у пыха есть jit

Через год-два и в Python завезут. Но если очень надо, можно и сейчас заюзать всякие там pypy и т.д.

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

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

Язык тут совсем не причем. Вон у ребят с алхимии с этим всё нормально, удобно и ясно.

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

то для этого есть методы get_context_data.

Очень «удобно» придумали, прозрачно то как.

Магия скорее была бы в случае с someattr > 0.

Открывая я первый раз код с алхимией а там

User.query.filter(User.id > 12)
И сразу понятно что мне нужно взять всех юзверей с id > 12, дальше объяснять я не буду, наверное поймёшь сам.

Понять код миксинов и как они комбинируются

В том и дело что можно, один комбинирует так, другой по другому и так далее, порядка нет.

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

Очень «удобно» придумали, прозрачно то как.

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

И сразу понятно что мне нужно взять всех юзверей с id > 12, дальше объяснять я не буду, наверное поймёшь сам.

И что? Я в курсе про алхимию. Концептуально это ничего не меняет, скорее код func(User.id > 12) выглядит (и является) магическим, т.к. обыкновенно никто при вызове функции такие конструкции не пишет.

Просто у Django такой API, у Алхимии - другой. Если потратить время на изучение и того и другого API, то оба варианта прекрасно читаются. Это близко к субъективным различиям, которые бессмысленно обсуждать. Между ORM Django и Алхимией есть более концептуальные различия, о которых следовало бы знать (например, концепция ActiveRecord vs Unit of Work). Но это, к сожалению, не уровень форума, где писатели выдают свои идиосинкратические синтаксические предпочтения за какие-то концептуальные отличия.

В том и дело что можно, один комбинирует так, другой по другому и так далее, порядка нет.

Это неправда. Комбинируются они в основном ещё в потрохах Django единообразно. Пользовательский код редко миксует, т.к. почти все случаи уже предусмотрены фреймворком, а если миксует, то пространство для маневра ограничено. Во всяком случае, если прилагать голову.

В общем, не вижу смысла ломать копья. У Django есть масса недостатков. Но все участники дискуссии, критикующие Django, настолько плохо его знают, что бессмысленно даже пытаться обсуждать на этом уровне.

И да, я сам, скорее всего, для нового проекта Django бы не взял (если только не понимал бы, что для проекта будет 100% востребовано всё, имеющееся из коробки в Django). Но критиковать надо всё же имея представление о том, что критикуешь.

emorozov
()
Ответ на: комментарий от firkax
def index(request):
    return HttpResponse('hello world!')

А пхп надо ещё установить и отконфигурировать и ещё установить и отконфигурировать модуль для вебсервера и ещё вебсервер надо установить и отконфигурировать и потом ещё надо домен направить куда надо и там настроить вебсервер слушать куда надо. А ещё сертификат выпустить надо и в вебсервере его прицепить правильно.

Так что давай меньше врать.
Подход в духе «на хостинге всё есть» — это расписка в собственной безграмотности.
И не аргумент, ибо на Джанго-хостинге тоже всё есть.
Да, такие хостинги тоже есть, специально для безруких инвалидов которые поняли что пыха говно, но мозги уже утрачены и на установку питона и джанги не хватает.

Goury ★★★★★
()
Ответ на: комментарий от no-such-file

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

Goury ★★★★★
()
Ответ на: комментарий от no-such-file

WordPress - общепризнанный эталон говнокода. Множество проектов начинали с WordPress, и затем переписывали всё, потому что WP/плагины для него - дырявые и нерасширяемые. Архитектура Big Ball of Mud не поддаётся модификациям и масштабированию.

Кто не верит, может посмотреть сам: https://github.com/WordPress/WordPress

Довольно лапшеобразный код, я бы такое в прод не взял.

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

всю архитектуру переделали и пришлось разбираться снова

Основы того что надо знать, фильтры и шорткоды, никак не меняется.

пара лет уйдёт на то чтобы разобраться как оно там всё встроено

Пару дней максимум. Там не надо лезть в потроха чтобы что-то сделать.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)