По слухам, в мире набирает обороты движение No-Code и Low-Code, активно обсуждаются плюсы и минусы этих подходов. Иногда некоторые заявляют: «Будущее программирования — вовсе не кодинг». Давайте попробуем разобрать вопрос по-взрослому, как инженер и как бизнесмен.
Не весь no-code одинаковый. Мы в AppMaster например генерируем приложения используя языки высокого уровня - Go, JS (Vue3), Swift и Kotlin. Кодогенерация позволяет на выходе получить производительные компилируемые приложения, при этом это уже не уровень MVP. Можно масштабироваться достаточно долго и не факт что когда-нибудь придется переписывать приложения вручную.
Смотрите, никто не говорит о том, что приложение на No-Code будут работать медленно. Но они всегда будут иметь ограничения, которую задаст платформа. Это стандартные блоки, способы связи для них и прочие. Именно это будет ограничивать потенциал развития функционала.
Да, вы можете дать возможность кастомизации, просто в какой-то момент развития окажется, что кастомизировать дороже, чем писать на нативном языке.
При этом не ограничивать пользователя вы не сможете. У вас все равно есть какая-то целевая аудитория, с какими-то понятными классами задач, которые в целом решаются одинаково. Плюс стремление оградить пользователя от ошибок, сделать систему удобнее. Именно это в итоге и задаёт систему ограничений.
Конечно, если пользователю не нужно приложение с развитым и нестандартными функционалом, то ему должно хватить ваших стандартных средств. И приложение не нужно будет переписывать.
Скажем честно, разрабатывать что-то сложное и нетривиальное приходится не часто. Вы просто можете исключить людей с такими потребностями из своей целевой аудитории, так часто и поступают. Вы же не ставите себе цель захватить 100% рынка разработки?
Кодогенерация позволяет на выходе получить производительные компилируемые приложения
А как только в сгенерированный код ручками залезли, генераторы уже неприменимы? Дальше только хардкодинг? Или как это работает?