Перейти к содержанию
Fire Monkey от А до Я
  • 0

Что выбрать VCL или FMX?


Pax Beach

Вопрос

Прошу участников поделиться мнениями.

При создании приложения только для Windows, как мне узнать, что лучше выбрать VCL или FMX?

Повлияет ли мой выбор на дальнейшую жизнь приложения?

Приложение для работы с локальной БД SQL Server и получения пакетов из интернета.

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Дело в том, что как раз ни одного аргумента ЗА FMX, кроме кросс-платформенности - нет. Так что обратных, чуть менее чем все.

 

49 минут назад, Pax Beach сказал:

Поможете с аргументами?

 

Ссылка на комментарий
  • 0

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

У меня есть опасение, что Embrcdr перестанет поддерживать VCL в будущем.

 

Ссылка на комментарий
  • 0

FMX слишко сыра, поведение контролов под виндами далеко от нативного. Еще недавно даже примитивный TMemo глючил и падал вовсю.

Набор контролов крайне ограниченный. Поддержка со стороны сторонних вендоров компонент мала.

 И что значит "откажется от поддержки" применительно к VCL? Перестанет развивать? Так уже давно перестала. Выпилит совсем? Это уронит продажи дельфи ниже плинтуса.

 

1 час назад, Pax Beach сказал:

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

У меня есть опасение, что Embrcdr перестанет поддерживать VCL в будущем.

 

 

Ссылка на комментарий
  • 0

Основываясь на фразе "создании приложения только для Windows"

Сама Embarcadero продолжает говорить, что под Windows ничего лучше VCL нет. Используя VCL вы можете задействовать все возможности, предоставляемые операционной системой. Если чего-то будет нехватать для работы (в чем я сомневаюсь, арсенал компонентов и контролов, созданных в рамках VCL, весьма обширен) - к вашим услугам полный набор WinAPI. Все VCL контролы основываются на вызовах WinAPI функций, что гарантирует (ну да, громко сказано, конечно) их быструю работу, поскольку она контролируется оптимальным кодом самой ОС. Помимо этого, некоторые задачи практически невозможно решить без задействования функций ОС. Например, хуки, сервисы, нестандартное поведение при движении мыши (WM_NCHITTEST)... Поведение контролов также будет 100% таким, как пользователь привык видеть во всех приложениях родной ОС.

Да, на FMX тоже можно использовать функции ОС и нативные контролы. Но микс нативных и "собственных" контролов приводит к извращениям по расположению и компоновке контролов, т.к. нативный контрол всегда отрисуется поверх собственных. Также, т.к. Windows основана на механизме передачи оконных сообщений - есть определенные сложности в применении WinAPI. Ну и - если вы задействуете WinAPI функции, т.е. привяжетесь к конкретной ОС - смысл тогда использовать FMX?

 

Резюмируя - если работа действительно планируется только под Windows - используйте VCL.

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

Ссылка на комментарий
  • 0

есть еще варианты....

если нужна красивая небольшая (по функцилналу) программа то, возможно, ваш выбор - FMX

у VCL нет работы со свежими девайсами типа камеры и датчиков

VCL медленно рисует

у VCL нет возможности (ну, почти) нарисовать форму красиво "как в интернетах", с анимациями и тенями

У меня на FMX например, сделана программа фотокабинки

Сейчас переделываю на FMX форму отрисовки карты в большой (VCL) диспетчерской системе (Вы же помните. что можно неофициально смешивать формы VCL и FMX в одном приложении)

 

Ссылка на комментарий
  • 0

> VCL медленно рисует

Штооооо? Это GDI то медленный? Да один тот факт что из-за идиотской архитектуры FMX форма перерисовывается целиком по каждому чиху, уже дает VCL немеряную фору,

Я молчу про отсутствие ScrollWindowEx в принципе.

И в каких пор DX забанили для VCL?

>у VCL нет возможности (ну, почти) нарисовать форму красиво "как в интернетах", с анимациями и тенями

"Нургалиев запретил"?

 

Ссылка на комментарий
  • 0
23 минуты назад, krapotkin сказал:

есть еще варианты....

если нужна красивая небольшая (по функцилналу) программа то, возможно, ваш выбор - FMX

у VCL нет работы со свежими девайсами типа камеры и датчиков

VCL медленно рисует

у VCL нет возможности (ну, почти) нарисовать форму красиво "как в интернетах", с анимациями и тенями

У меня на FMX например, сделана программа фотокабинки

Сейчас переделываю на FMX форму отрисовки карты в большой (VCL) диспетчерской системе (Вы же помните. что можно неофициально смешивать формы VCL и FMX в одном приложении)

 

Да? А можно пруфлинк?

Ссылка на комментарий
  • 0

Общее впечатление на текущий момент (программирую пока только под Windows):

Задумка богатая (типа WPF), но реализация...

Уровень создания пользовательского интерфейса на уровне Delphi1-3 :), вон хинты только в Siettle появились. Зато радуют спецэффекты (подсведтки, анимация и т.п.).

Grid. Мда. Я бы не рискнул его использовать в приложении где актуальна интенсивная работа с БД. VCL-кий грид и то круче (не говоря про всякие EhLib и т.п.)

Одно отсутствие кэширования как в соответствующем DB-avere компоненте. А редактировать непосредственно в нем (по моему) просто невозможно.

Постоянно нужно быть готовым ко всяким чудесам (например).

Но не смотря на это воспользовался FMX в серьезном проекте. Понравилась работа прежде всего с 3D графикой. Не хотелось заморачиваться с OpenGL(DirectX), сторонними библиотеками.

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

 

Ссылка на комментарий
  • 0
  • Модераторы
4 часа назад, krapotkin сказал:

пруф чего? то что я программы пишу?

Цитата

Вы же помните. что можно неофициально смешивать формы VCL и FMX в одном приложении

 

Ссылка на комментарий
  • 0

Спасибо, коллеги, за ответы.

Начинать холивар, задачи не было.

Но вашего опыта вполне достаточно, чтобы обрести свое мнение по поводу выбора фрэймворка.

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...