Delphi
March 2014 20

Обзор Appmethod [Много картинок]



Upd 10.11.16: Статья во-многом потеряла свою актуальность, начиная в RAD Studio Seattle, FMX стала более-менее пригодной для разработки.

В данном посте я выражаю свое мнение, и он может показаться слишком эмоциональным.
Некоторое время назад Embacadero анонсировала Appmethod — среда разработки для Windows, OSX, iOS, Android, с помощью Firemonkey.
На Techcrunch обещали, что будет Express версия но сразу после официального выхода Appmethod стало известно что, возможно будет, но будет иметь ограничения: http://www.embarcadero.com/products/rad-studio/appmethod-faq. Скачать триальную версию можно здесь: http://www.appmethod.com/.
Лично я возлагал большие надежды на Appmethod, надеялся что они, наконец, исправили глупые баги Firemonkey.

Нас встречает старая немного глючная добрая IDE, в которой есть некоторые изменения:


Первое что бросается в глаза, это новые 32-х битные иконки и стиль Metro.


Если выбрать File->New, то будет доступно 3 вида проекта:
  • Desktop Application — Object Pascal
  • Mobile Application — Object Pascal
  • Package — Object Pascal

Да теперь язык, почему то не Delphi, а Object Pascal.

Создадим Desktop Application и посмотрим, исправлены ли старые баги Firemonkey?
К сожалению баги, такие как «мыльный текст» и отсутствие анимации при сворачивании и разворачивании окна, и потеря фокуса после, на месте.

Создадим Mobile Application:

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

Накидаем компонентов на форму и нажмем Run(F9), после продолжительной компиляции (хоть и меньше чем на DelphiXE5), видим приложение на телефоне (Nexus4).
Глюк с тем, что невозможно выделить больше чем одну строчку в TMemo исправили, ура!
Хотя выделение выглядит все еще не нативно.


А вот с прокруткой у таких компонентов как TListBox все еще плохо: анимация тормозит, выделение дергается, нету визуальных эффектов по достижении конца списка.

По-разному выделяя текст я получил это:

Жалко, но качество тестирования по-прежнему оставляет желать лучшего.

Но вдруг это я такой криворукий и стандартные примеры более качественны?
Я скомпилировал пример TabSlideTransition, в котором пользователь по шагам вводит информацию, пошаговый ввод сделан с помощью TTabControl.

В нем содержится вот такой странный код:


Жалко, но я так и не смог дойти до конца ввода, приложение постоянно падало и зависало:

А один раз телефон просто завис намертво(!).

Попробуем другой пример:
Это пример простейшего фоторедактора и он работает!
Мне захотелось отправить результат его работы, но опять ничего не вышло.


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






Embacadero не пытается тестировать свои продукты, не работает нормально даже базовый функционал, причем я молчал, если бы тестировал на китайском NoName, но Firemonkey глючит на Nexus.
А попытки переименовать Firemonkey в FXM и FMPlatform без исправления фатального недостатка, а это сама Firemonkey, ни к чему хорошему не приведут. А теперь они и от названия Delphi избавляются.

Представители Embacadero, пожалуйста, донесите до руководства что, надо привести VCL в актуальное состояние, сделать нативный MobileVCL, и выкинуть, либо провести полный рефакторинг кода Firemonkey.

Надеюсь на комментарии представителей Embacadero.

Спасибо за прочтение, это мой крик души.
[Забавно то, что статья не попала в delphifeeds.ru]
Делать ещё такие обзоры?
95.2% Да 81
4.7% Нет 4
85 users voted. 13 users abstained.
+15
12.9k 27
Comments 25
Top of the day