Pull to refresh
29
0
Геннадий Малинин @HemulGM

Программист Delphi

Send message

Вы вообще про принцип разделение ответственности слышали или в Delphi-мире по прежнему божественные объекты наше все?

Это лишь ваши домыслы. Никто не говорит, что "графическая часть пришита к рантайму". Речь тут о том, что FMX имеет масштабный инструментарий, чтобы подобных "выше" проблем не было при разработке приложения. Нужен блютуз - используй, он будет в поставке штатно и работать на всех устройствах.

Вспомните топик "FMX эффективнее Avalonia", потому что не приходится решать подобные проблемы кроссплатформенности.

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

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

И стоит помнить, что вы понятия не имеете, на что способен дизайнер в FMX и насколько сложные можно создавать интерфейсы (с/без MVVM подхода), если его изучить.

Я не знаю как вы ищите. А с учетом, что вакансий на чисто Delphi в целом в 10 раз меньше, чем на C#, то в отношении внутри языков FMX популярнее, чем Avalonia внутри C#.

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

Вот о чем я: https://github.com/AvaloniaUI/Avalonia/discussions/10594

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

не угадали, попробуйте еще раз

Структура проекта FMX (Делфи в целом).
Файл 1. Файл проекта
Файл 2. Модуль класса формы
Файл 3. Код формы

MVVM решение: Код формы создается и редактируется дизайнером (View) и может иметь связь с модулем класса формы (VM), класс с данными пишем отдельно от всего этого (Model). Связь между VM и View может быть как событийная, так и через биндинги. Связь между (VM и Model) - тоже. Биндинги при этом для VM/View можно создавать дизайнером.

Итого получаем: мы дизайним любой сложности форму, контролы, представления (фреймы), биндим на VM и биндим VM к любой модели данных.

Вы можете поискать и убедиться в этом сами. Ведь, в данном случае именно вы заблуждаетесь, а не я, т.к. именно я больше работают с проектами на Delphi и да, в разных компаниях и да НЕ ЛЕГАСИ проектами. Не говоря уже о том, что на FMX просто напросто нет легаси проектов, т.к. этому фреймворку менее 10 лет (а в качестве полноценно рабочего инструмента не более 5 лет).

Вакансий много, как на Делфи, так и на FMX. В том же СберБанке существует проект СберИнвестПро, работающий именно на FMX и он разработан в течении последних 2 лет. В компании где я работают (и ещё десяток разработчиков), создают новые решения на FMX, возрастом до 3 лет. Десятки и сотни разработчиков из других стран, с которыми я общаюсь в тематических чатах, тоже используют FMX для создания приложений и игр под разные устройства.

Так что нет, искать я это не буду, т.к. с моей стороны идет конфликт интересов. Нужна объективная оценка - ищите. Это не сложно. Недельный вебинар (сессия из 6 вебинаров) по Delphi, к слову прошёл на этой неделе.

полноценный дизайнер пригоден только для формошлепства в относительно простых хелловорлдах

Вы сильно заблуждаетесь, потому что не понимаете, о каких возможностях идёт речь. MVVM прекрасно используется с дизайнером с этим фреймворкам. Проект может легко состоять из кучи небольших фрагментов интерфейса, которые дизайнятся отдельно. А ваше представление ограничено тем, что вы считаете, что весь дизайн - это только окно формы и накидывание контролов, но это совершенно не так. Вы вероятно мало компетентны в данном вопросе и как раз именно ваш "мирок" этим ограничен. Как иу большинства тех, кто считает, что "только code only позволяет решать сложные задачи".

А какое отношение перечисленное имеет к UI-фреймворкам?

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

IDE на линуксе даже не запустится

Для того, чтобы разрабатывать под Линукс и отлаживать приложения, запущенные именно в Линукс нет необходимости ставить IDE на Линукс. Как и с любыми другими платформами.

Да, IDE не кроссплатформенная, только об этом ли сейчас речь? Нет, не об этом. Однако, среда разработки прекрасно работает, например, в MacOS в виртуальной машине и это регулярно используется разработчиками. VS тоже не является кроссплатформенной IDE, только "позади всех" её что-то не называют. Про обрубок в виде VS Code я промолчу.

какие то мантры фанатика

Так пишут все, кто не имеет аргументации в ответ.

Разработка на этом фреймворке гораздо быстрее, за счёт подхода к созданию интерфейсов (моя недавняя статья на Хабре), за счёт полноценного дизайнера, эффективнее за счёт кучи готовых кроссплатформенных решений для работы с камерой, всевозможными датчиками, BT/BLE, общим центром разрешений (прав), возможностью использовать разный графический бэкенд на каждой платформе (существует несколько в каждой), возможностью легко использовать платформенный код для конкретной платформы (winapi, jni, posix...), прямой доступ к другим устройствам. За счёт готовых инструментов публикации, сертификации из среды, прямой или удаленной отладки на всех платформах и т.д.

А со своим "во внимание" можно вообще было не писать. Этот язык далеко не мертвый, это лишь ваше заблуждение.

Он их делает и для VCL до сих пор и для него Delphi фреймворка FMX. Помимо DevExpress компоненты делает контора TMS, для обеих фреймворков. Так что нет, WinForms не является основным приоритетом конторы и стабильно пилит для VCL. При чем, по возможностям контролов для VCL и WinForms можно поспорить. Т.к. VCL гибче WinForms.

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

Запускается? Нет. Потому что проект был собран под .net 2.x, .net 3.x, .net 5.x, а в системе стоит из коробки .net 4.x. При этом, проект на Delphi7 запустится как на WinXP, Vista, Win7, Win8, Win10, Win11 и скорее всего на последующих версиях Windows на +10-20 лет вперед. Без пересборки. И без нужды ставить дополнительный рантайм.

VCL никогда не закапывали, Kilyx был альтернативным проектом, как и версия с .Net. На Delphi 7 сейчас только те, кто не может перевести свой проект на современные версии из-за отсутствия современных версий сторонних пакетов. Все остальные давно использую среду разработки не ниже XE7, а подавляющее большинство использует среды версий от 2018 года и выше. Например, в нашей компании есть и Delphi7 и проект, который не можем просто так перевести. И самая последняя версия Delphi 12 (2024 года) с кучей других проектов посвежее или совсем новых.

Платить нужно за все. Если проект создается для коммерческой разработки. VS тоже не бесплатная среда разработки. А для Delphi и среды разработки RAD Studio, как и для VS существует бесплатная Community версия. Для не коммерческих разработок или с ограниченным доходом.

В делфи весь рантайм скомпилирован в бинарник. Естественно есть связь с winapi для создания окна (в vcl и для создания контролов). Цикл обработки сообщений является частью рантайма Делфи.

Win forms "приложение" без статической линковки по сути представляет из себя бинарный (но, не машинный) код класса юзерского решения.

В то время, как Делфи представляет из себя чистый машинный код. То, что дотнет поставляется с ОС это конечно здорово, но ведь ты не будешь сравнивать jar файл с "ехе" от дотнета, если java будет поставляться с ОС. Не говоря уже о том, что для работы дотнет приложения нужна конкретная версия этого дотнета. И почти все установщики приложений на дотнете устанавливают и дотнет нужной версии.

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

Тем не менее, vcl все это время развивается, а win forms нет.

Конечно, vcl и win forms давно не популярные в области создания оконных приложений решения, но Делфи развивает и другой фреймворк, но ближе к Avalonia, нежели к wpf.

В Delphi изначально MVP, и никто не запрещает реализовать MVVM. И да, биндинги там тоже есть, даже в старом добром VCL. Визуально создаются, кстати. А кроссплатформенный FMX куда эффективнее Avalonia

WinForms годов Delphi7 - не сломает Delphi7 и близко. А WinForms современный даже не дотянется до современного Delphi

Не совсем честно сравнивать Winforms, когда у тебя рантайм на 200мб, но не в приложении. Сначала запаковать нужно, чтоб не было зависимостей. В Delphi их нет

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

Смотря "какой" Паскаль брать. Вы можете удивиться, но это тоже "Паскаль"

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

Всё делается автогенерацией (и для Win в том числе), а апдейты среды выходят достаточно часто (задержка будет, максимум месяца 3).

Information

Rating
5,184-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Fullstack Developer
Senior
From 180,000 ₽
Delphi
SQL
Database
Git
REST
C#
Python
OOP
MySQL
PHP