Motto

В тихом саду здравомыслия
Пусть на вас постоянно падают
кокосовые орехи пробужденности.
Чогьям Трунгпа РИНПОЧЕ


Версия для мобильного


среда, 6 апреля 2016 г.

Выложен Lazy Delphi Builder 1.14.14.362 и 364 (альфа)

Выложена версия Lazy Delphi Builder 1.14.14.362.

Исправлен Exception при добавлении пути в Lazy Paths.
В редакторе IDE search paths исправлены ошибки с подсветкой несуществующих папок.
Добавлена новая команда Replace selected with env var (auto) - которая заменяет часть пути на Environment variable (переменные ищутся в Lazy Environment variables и IDE environment variables)

Download here

Lazy Delphi Builder 1.14.14.364 alpha.
обновлён JCL:
* исправлена ошибка с некорректным ключом dcc32 -N"Snamespace"
* улучшена поддержка версий Delphi XE2+
* другие исправления
Эту версию я ещё не тестировал. Если что-то найдёте - дайте знать.


Читать дальше..

пятница, 1 апреля 2016 г.

Выложен Lazy Delphi Builder 1.14.14.360 (исправления ошибок)

01.04.2016. Lazy Delphi Builder 1.14.14.360:
Исправления ошибок.


  • Исправлены ошибки с относительными путями. Как для путей в LazyDBP файле так и для переменной $(BUILTIN_PROFILE_DIR)
  • Консольная версия не возвращала ERRORLEVEL если при удалении или создании папки случалась проблема
  • Очень тормозило построение дерева после удаления узла
  • MRU файлы. Последний загруженный отправляется наверх. Наконец-то.
  • Новый параметр командной строки /MaxProblemCountToStop
  • Значение BUILTIN_PROFILE_DIR переменной выводится после загрузки профиля в /debug режиме в консольной версии

 Скачивать
Читать дальше..

воскресенье, 27 марта 2016 г.

Lazy Delphi Builder 1.14.14.356 доступен

В этом блоге, последний раз я выкладывал анонс версии 1.10.9.269 от 2014-03-15. Новые версии продолжали выходить, я о них писал на сайте проекта и на страничке Lazy Delphi Builder в Google+.
Пользователям версии 1.10.9.269 от 2014-03-15 настоятельно рекомендую обновиться – была исправлена критическая ошибка приводившая к раздуванию файла LazyDBP и торможению работы.
Основные нововведения опишу здесь. За деталями – добро пожаловать в history_en.txt.
Большие изменения
  • Добавлена поддержка "portable" инсталляций (нужен только dccXX.exe и папка Lib)
  • Поддержка Delphi XE8-Seattle
  • Добавлен тулбар и горячие клавиши для навигации по build log
  • Интерфейс больше не блокируется на время компиляции (Application.ProcessMessages наше всё)
  • Режим /noop – когда никаких реальных действий с файлами не предпринимается
  • Preset-ы для установленных в IDE packages
  • Возможность добавить выделенные папки в IDE Library Search Paths или IDE Browsing Paths
  • Поддержка относительных путей. Как относительно текущей папки так и относительно папки с LazyDBP профилем. (добавлена встроенная переменная $(BUILTIN_PROFILE_DIR))
  • Диалог с настройками. Теперь можно отключить удаление файлов в Корзину по-человечески, с помощью галочки
  • Новые параметры командной строки: /buildReleaseDcu /ResFileMasks /urb /noop /v
  • Команда Undo "build" (alpha) - восстанавливает Output folders из резервной копии (.bak) после неудачной сборки.
  • переименование прямо в дереве с файлами (F2) (без Undo)
  • Исправлена куча ошибок (особенно в консольной версии). Спасибо за баг-репорты!

Скриншоты

Редактор Portable инсталляций:


Навигация в Build log:




Читать дальше..

среда, 16 сентября 2015 г.

Изменение курсора и автоматическое восстановление при выходе из метода

Не знаю как у вас, а у меня коде (vcl приложение) полным-полно таких конструкций:

var
  tmpOldCursor: TCursor;
begin  
  tmpOldCursor := Screen.Cursor;
  try
    Screen.Cursor := crHourglass;
    // код который может работать относительно долго
    // например, выполнять запрос в БД
  finally
    Screen.Cursor := tmpOldCursor;
  end;
end;

И мне это надоело. По двум причинам:

  1. увеличение размера модулей - по 8 строк кода на каждый такой случай
  2. разбухание секции uses, ведь чтобы это работало нужно в каждый модуль работающий с курсором добавить uses Forms, Controls;

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

begin  
  TLazyCursorHelper.ChangeToHourglass;
  // код который может работать относительно долго
  // например, выполнять запрос в БД
end; // а здесь курсор должен восстановиться

Читать дальше..

воскресенье, 30 марта 2014 г.

Delphi for Android: играем звук при встряхивании

Обещанного 3 года ждут. А план таков, что программку для детей мы всё-равно еще не скоро допишем (сомневаюсь что есть смысл её дописывать).

Поэтому давайте зафигачим что-нибудь простенькое и бесполезное. Например что-то типа эмулятора кнута Индианы Джонса. As seen on tv. Типа того, что показывали в Теории Большого Взрыва много лет сезонов назад. Только вместо кнута будем использовать колокольчик. А назовём проект LazyShaker.

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

Исходный код проекта я выложил на github. А собранное приложение на Google Play.

Под катом объяснение того как всё это работает.


Читать дальше..

среда, 19 марта 2014 г.

AppMethod: первые впечатления от trial-a

 

Установщик trial-a скачивался не то чтобы быстро. 50мб тянулись дольше 10 минут. Причём, это ограничение со стороны Embarcadero (по крайней мере, для Латвии), так как обычно такие файлы скачиваются за пару секунд.

Зато сама установка прошла минут за 20 (включая скачивание всех пакетов). Однако не стоит забывать что это trial версия и исходные коды RTL и FMX не устанавливались. Также, вроде не устанавливался ни Fast Report, ни логгер-забыл-как-он-там-называется, ни Beyond compare.

Первое, что бросается в глаза - переделанный внешний вид. Все иконки на основных тулбарах заменены (на плоские иконки (оппа-metro-style!) без антиалиасинга).

AppMethod main form

Созданный в Delphi XE5 проекты открылись, собрались установились в телефон и заработали без каких-либо проблем.

Внимание, если при запуске программы на Android устройстве у вас появляется Linker error, то это значит, что скорее всего вы забыли сделать rebuild проекту.

 

Мне не удалось проверить работу Lazy Delphi Builder, так как с trial-ом вместо рабочего dcc32 всегда ставится mock exe-шка только и умеющая что выводить текст:

This version of the product does not support command line compiling.

Хорошая же новость в том, что Lazy Delphi Builder всё ж таки определяет установленный AppMethod и находит файлы компиляторов. Так что, по идее, должно работать. (я проверял с 269 билдом)

Резюмируя: если б мне не приходилось большую часть времени заниматься сопровождением VCL проектов, я бы с огромным удовольствием переключился на AppMethod.

p.s. (= И кстати, эта версия носит почётный 13й номер и ставится в папку Embarcadero\Appmethod\13.0\


Читать дальше..

вторник, 18 марта 2014 г.

Официально вышел AppMethod

 

Trial версию можно получить тут: http://www.appmethod.com/free-trial (требуется простейшая регистрация, ключ приходит на email).

На цены можно посмотреть тут: http://www.appmethod.com/pricing

 

Бесплатной версии судя по всему нету. FAQ на страничке Embarcadero теперь утверждает следующее:

Q) I read there will be a free edition of Appmethod. Any additional information on this?

As part of our plan to make Appmethod available to as many developers as possible, we have discussed and considered a free Appmethod subscription level for release at a future date. If a free subscription level is made available, it will have platform, form factor, screen size, feature, and distribution restrictions. While there has been discussion of a free Appmethod edition, there is as of yet no official committed plan to release a free edition beyond a Free Trial Edition.

Я это понимаю так:

Бесплатная версия возможно и появится в будущем, но у неё будут ограничения по платформам, form factor, размеру экрана, фичам и ограничения по распостранению. Хотя возможность предоставления бесплатной подписки и обсуждалось, в данный момент официально подтвержденного плана выпустить бесплатную версию нет. Но за trial платить не надо.

p.s. кстати, в качестве issue tracker-a для AppMethod Embarcadero предлагает использовать Jira! bye bye Quality Central? Подмигивающая рожица


Читать дальше..

воскресенье, 16 марта 2014 г.

Lazy Delphi Builder 1.10.9.269 от 15.03.2014.

Выложил небольшой апдейт. В основном это исправление багов.

15.03.2014. Lazy Delphi Builder 1.10.9.269:
0. Исправлено: угадывание версий Delphi не работало для XE5, XE6
1. Исправлено: некорректно отображалось название для XE6 (спасибо nda за репорт)
2. Изменено: reset build status теперь работает для выделенных нескольких узлов
3. Исправлено: если lazyDbp файл загружался через Recent меню, его название не попадало в диалоги Open/Save
4. Изменено: добавлена пара новых правил для угадайки версии Delphi (не работало для VirtualTreeview)
5. Новое: создание при компиляции файлов для C++ Builder (чекбокс в Build dialog). NB: Если C++ Builder не установлен, то вообще ничего компилироваться не будет! (такова особенность dcc32 + моих рук)

Скачивать на bitbucket.

As seen on torry.net!

 


Читать дальше..

суббота, 15 марта 2014 г.

Спаси Delphi, помоги зоопарку: GSmart Aku A1

Всеволод как-то предложил описать устройства, которые можно успешно использовать для разработки на Delphi XE5. Вот мои пять евроцентов.

1. Автор обзора: Алексей Тимохин

2. Название телефона: Gigabyte GSmart Aku A1 (год выпуска 2013). Мощный (quad core) и бюджетный (5000-6000 рублей) телефон. Слабые места: камера, экран (углы обзора). Ссылка на обсуждение Aku A1 на форуме 4pda – там же можно найти отзывы и ответ на любой вопрос.

3. Как ставилось, были ли сложности, "лекарство", трюки, чудо (оно как-то само), шаманство и т. д. Драйвер из ASDK не сработал. Помог драйвер с официального сайта.

4. Фото телефона:

2014-03-15 14_40_58-DSC06505

5. Разное: недорогое мощное устройство с 2 sim-картами. На момент покупки (декабрь 2013) Aku A1 лидировал по соотношению цена/производительность+отсутствие проблем. Из недостатков – плохие углы обзора (искажение цветов), внутренняя память очень быстро забивается (тут мне помог рут и удаление части предустановленного барахла).

У меня не возникало никаких проблем с запуском программ написанных на Delphi. (проверял разные демки а также и программы опубликованные в Play Store).


Читать дальше..

пятница, 7 марта 2014 г.

AppMethod – новая IDE только для Firemonkey от Embarcadero.

И кстати, пользуясь случаем хочу передать привет хочу дать ссылку на Roadmap для Delphi на 2014 год.


Embarcadero готовит что-то новенькое. Причём, у этого чего-то еще будет и бесплатная редакция. Последняя бесплатная IDE, насколько я помню была у Turbo Delphi в далёком 2006, которая вроде даже была довольно популярна несмотря на некоторые ограничения.

Продукт будет называться AppMethod. И будет представлять собой версию RAD Studio только для Firemonkey (без VCL). Для пользователей полной RAD Studio, продукт скорее всего не будет представлять интереса. А вот для новых клиентов заинтересованных в кроссплатформенной разработке, это должно быть интересно.

Согласно информации от Techcrunch, нам обещают бесплатную редакцию для индивидуальных разработчиков (которая будет поддерживать сборку под Android и deploy максимум на 5 устройств (интересно, как это будет ограничиваться)).

Коммерческие лицензии будут доступны по подписке на год.

 

Имхо

Хотя подписка на год и портит всю малину, но всё-равно браво, маркетологи Embarcadero.

Причины:

  • Во-первых, в IDE будет меньше package-й - и запуск IDE должен стать быстрее.
  • Во-вторых, меньше компонентов в палитре, что упростит повседневную работу (особенно для тех, кто только начинает) как пользователям, так и службе поддержки.
  • В-третьих, бесплатная версия для Android - отличный ход для популяризации Firemonkey. Одна из характерных черт Android платформы там больше любят халяву. Там больше бесплатных приложений. Хотелось бы мечтать, что бесплатная версия всё же позволит публиковаться в Google Play, но что-то подсказывает мне что нет. Что ж. Будем меняться исходниками. Стимулируя Open Source, я надеюсь выиграет всё сообщество Delphi разработчиков.
  • В-четвертых, новый бренд. молодцы, интересный ход. Упоминание Delphi почему-то частенько вызывает ярко-выраженную аллергическую реакцию. Посмотрим как с этим пойдёт.

Ложки дёгтя:

  • AppMethod, не такой выговариваемый, как Делфи. Сравните: делфи, делфай, аппмитод, аппметод.
  • Годовая подписка. А что через год - что ли нельзя больше ничего собрать будет?
  • Годовая подписка за разработчика/за платформу. Хотите 4 платформы - умножайте на 4?

Источники:

p.s. В публичном доступе – с 18 марта (дата найдена в интернетах).


Читать дальше..

пятница, 28 февраля 2014 г.

Lazy Delphi Builder 1.10.8.268 Alpha от 27.02.2014.

Скачивать здесь

Очень много нововведений. Существенно переписано ядро. Экспериментальный устаревший TasksEx отвечавший за работу в фоне, заменен на Awaitable модуль от Романа Янковского.

Если обнаружите ошибку, пожалуйста, сообщите.


История изменений

  1. Новое:
    1. Возможность использовать dccaarm, dcciosarm, dccios32 для сборки
    2. Появилась возможность компилировать только debug или только release - в Build dialog добавлена галочка Build release dcus.
    3. Добавлены preset-ы для scan file masks
    4. Добавлен preset "default" чтобы дать возможность сбросить настройки к значениям по умолчанию. Реализовано для: output directories, file scan masks
    5. В диалоге Build settings теперь показывается страница настроек Search Paths
    6. Выводить Total build time в конце билда
    7. В дереве файлов: Check Wizard (Ctrl+W) - диалог дающий возможность выделить/снять выделение с файлов относящихся к выбранной версии Delphi.
    8. Menu -> File -> добавлен пункт Merge profile, который позволяет обновить текущий профиль данными из другого профиля.
    9. Base out dir теперь сохраняется в LazyDBP файле.
    10. Оптимизирована скорость обработки найденных файлов
    11. В дереве файлов для проектов и пакетов:
      1. Теперь можно увидеть статус сборки (build status) (?? - не собирался, ok - собрался корректно, er - ошибка компиляции)
      2. Фильтр теперь прячет папки в которых нет ни одного видимого файла
      3. В всплывающее меню добавлены команды:
        1. Сброс статус компиляции (может быть полезно, если вы хотите пересобрать этот пакет в режиме Continue Build) - Скопировать в буфер обмена лог инсталляции Найти проблемный пакет в Build Log-е
        2. В Info panel теперь показывается к какой версии Delphi относится данный файл (угадайка).
  2. Исправления:
    1. При загрузке профиля из файла, игнорируется указанная в нём версия Delphi
    2. В диалоге Build settings при запуске в temp/test mode не блокируются пресеты в каталогах - можно загрузить пресет и изменить папку
    3. Игнорировалась значение указанное в Break after N errors (Build settings)
    4. Если в профиле была указана инсталляция: XE 3 Architect. А на машине, где загружаем этот профиль установлена Enterprise - то внешне все будет выглядеть прилично, но при нажатии на Compile появится ошибка Assertion failure (uLazyIdeProxy.pas, line 886) LazyInstaller.CurrentInstallation not assigned.
    5. При очистке профиля не очищается список Environment variables и Lazy Search paths
    6. Для namespaces показывается некорректный список Recent(MRU)
    7. В Build диалоге не отрисовывался фон в визарде
  3. UI:
    1. Installation log переименован в Build log
    2. Блокировать пункт меню Edit -> Find, если текущая закладка не поддерживает поиск
    3. В Save as диалог теперь подставляется имя файла загруженного профиля
    4. Build dialog: добавить возможность указать CustomCompiler (раньше это можно было сделать только напрямую в файле LazyDBP).
    5. В статусной строке теперь показывается количество проектов собранных с ошибкой.
    6. В дереве файлов оптимизирована скорость переключения из режима списка в режим дерева. (теперь быстрее примерно на 46%)

Читать дальше..

четверг, 20 февраля 2014 г.

Лучшее в Delphi блогах за 2013 год.

 Обновлено 2014.02.21 22:34

Подборка ссылок на лучшие публикации по Delphi за 2013 год.


Аналогичные подборки за предыдущие годы:


Читать дальше..

воскресенье, 29 декабря 2013 г.

Delphi XE5: впечатления от разработки под Android

Отправил свою программу на конкурс. Саму программу показывать пока не хочу. А хочу поделиться своими впечатлениями от использования Delphi XE5 и Firemonkey.

 

Сразу оговорюсь

  • Это мой первый проект на Firemonkey и первый опыт разработки для Android.
  • Я использовал Delphi XE5 + Update 1 + все хотфиксы для Update 1.
  • Тестировал только на телефоне GSmart Aku A1 (480 x 854 pixels, 4.5 inches (~218 ppi). Эмуляторы не использовал.
  • Часто компилировал и запускал на Win32 в режиме Mobile Preview (об этом ниже).
  • В этом проекте решил опробовать подход "как-мне-кажется-это-делают-в-java", когда и для каждого класса создавал отдельный .pas файл. В результате получилась куча юнитов и чтобы в них не запутаться пришлось раскидать их по папкам и пространствам имён. Получилось в принципе удобно. Хотя есть у меня подозрение, что сборка проекта под Android из-за этого работал медленнее, чем в случае, если бы весь код был запихан в один .pas файл.

Грабли

Deployment manager и папки

Deployment manager и папки. С этим тоже пришлось повозиться прежде чем удалось понять какие надо указывать пути в Deployment manager и как потом найти эти файлы в программе. Пришлось провести небольшое исследование. О нём напишу позже, в отдельном посте. Вот только так и не понял, как же из приложения определить путь до корня SdCard. Также не понравился UI в Deployment manager-e. Редактирование пары десятков файлов сделано не очень удобно, хотя к слову сказать просто добавить пачку файлов довольно легко.

Сразу уточню, что я хотел недокументированного. Искал легкий способ добавления/редактирования файлов в Deployment manager из консоли. Не получилось, так файлы добавленные через Deployment manager поначалу сохраняются в .dproj файле, хотя в папке проекта и присутствует отдельный файл .deployproj. И я так и не понял в какой момент файлы переносятся из .dproj в .deployproj файл. Вот кстати наткнулся на пост о похожем исследовании от Павла Алхимова “DeployFolder - Развёртывание мобильного подкаталога”.


Читать дальше..

понедельник, 16 декабря 2013 г.

Delphi. Как указать папку "по умолчанию" для новых проектов

Надоело мне, что Delphi предлагает каждый новый проект сохранить в папке My documents. И задался я вопросом, а как бы эту папку изменить. Оказалось – очень просто. Настолько просто, что даже и рассказывать тут не о чем. Но я всё-таки расскажу так как я (почему-то) долгое время считал, что такой опции просто нет.

Главное меню –> Tools –> Options –> Environment Options –> Default Project

Или, с помощью IDE insight: Ctrl+. ввести default project + Enter

image

В Delphi XE-XE5 эти настройки хранятся в реестре:

HKEY_CURRENT_USER\Software\Embarcadero\BDS\12.0\Globals\DefaultProjectsDirectory

Тип данных: REG_SZ


Читать дальше..

пятница, 13 декабря 2013 г.

2. Пишем детскую программку под Android: основа

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

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

Создаём новый проект: Firemonkey Mobile application –> Blank application

Разрешения

Отключим ненужные permissions. Так как по умолчанию включено слишком много всего.

Project –> Options –> Uses permissions. (Или через Help Insight: Ctrl+. –> ввести Permission + Enter, но это как-то странно работает). Сверху выберем All configurations Android Platform, так как список Permissions доступен только для Android платформы.

image


Читать дальше..

суббота, 23 ноября 2013 г.

Добавление ресурсов в программу

В этой публикации я побуду Капитаном Очевидность и расскажу о паре способах добавления ресурсов в программу.

Определение: Ресурсы — данные, встроенные в EXE, DLL, CPL и (начиная с Windows Vista) MUI-файлы. Доступ к этим данным можно получить через функции Windows API. (из Википедии).

В Delphi XE5 аналогичный механизм используется и для хранения ресурсов в Android приложениях. Насчёт iOS приложений я не проверял, но полагаю, что должно работать и там.

Вообще, ресурсы в Delphi – это фундамент, на котором строится вся программа. Именно в ресурсы пакуются все ваши DFM файлы (видели же строку “{$R *.DFM}” в .pas файлах форм? это оно самое), иконки, курсоры, и строки (resourcestring). Именно благодаря ресурсам работает локализация программ с помощью Translation Manager. Всё это происходит автоматически.

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

Для чтения ресурсов можно использовать класс TResourceStream. А о том, как добавить ресурсы в программу, мы и поговорим.

Начиная с Delphi 2009 в IDE появился диалог, позволяющий добавить ресурсы в проект.

Диалог Resources в Delphi XE5

Этот диалог даёт возможность включить в проект сразу несколько файлов (проверял в XE5).

При сборке проекта, эти файлы компилируются в .res файл. А при линковке (компоновке), встраиваются в программу.

 

Но как же программисты жили раньше? Как добавляли в программы картинки, звуки и большие текстовые файлы?


Читать дальше..

суббота, 26 октября 2013 г.

1. Пишем детскую программку под Android: план

Delphi для Android. О сколько радостных предвкушений вызывает у меня сочетание этих слов. Я давно хотел сделать что-нибудь под Android. Для начала что-нибудь простенькое, но свое.

Дочке сейчас полтора года, и ей очень нравятся телефоны, компьютеры и планшеты. Любая чёрненькая коробочка с кнопочками и лампочками влечёт её почище магнита. Но особое предпочтение доча отдаёт устройствам с тачскрином. “Папа, дай мне пожалуйста свой телефон, я хочу с ним поиграть, а заодно я раскидаю твои иконки так, что не сможешь потом ничего найти, поменяю звонок, переставлю время, запущу тебе кучу разных программ и позвоню парочке случайных знакомых”, хочет она сказать, но произносит только “Алё-алё! На-на-на!”. Ключевое для дочки, конечно, поиграть. Больше всего она любит программки с картинками, которые издают звуки.

Её требования к играм очень простые:

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

У меня требований чуть больше:

  • там не должно быть змей, говорящих ссссс, страшно рычащих тигров, обезьянок, и других тварей, которые не водятся в нашей местности и в детских книжках
  • программка должна быть проста в использовании:
    • картинки должны быть большими
    • программа должна чётко понимать, что прикосновение к экрану на 3 сантиметров в стороне от картинки это на самом деле прикосновение к картинке
    • а если на экран нажали ладошкой, то не это никакой не мультитач, а обычное нажатие, и если на экране есть несколько животных издающих звуки, то совершенно излишне заставлять всех животных вопить благим матом, а то родители пугаются
    • крайне желательно, чтобы программка умела блокировать нажатия кнопок home, back и menu (в некоторых детских программах это кстати реализовано). (сенсорные кнопки на телефонах/планшетах – это зло)
  • Никакой рекламы во время игры, разумеется

Таких программ очень много в Google Play Market-e. Но у всех у них есть какой-нибудь фатальный недостаток.

<
Читать дальше..

воскресенье, 20 октября 2013 г.

Легкий способ проверить Android устройство на совместимость с Delphi XE5.

Как узнать будет ли работать программа сделанная в Delphi XE5 на Android устройстве.

Начну сразу с простейшего способа. Официальная спецификация – ниже.

All-the-Myriad-Androids-Animoca

Неофициальные способы

Легкий способ проверить своё устройство

  1. Надо установить на телефон маленькую программку SysCheck от Christopher Moeller (не требует никаких прав).
  2. Запустить.
  3. И посмотреть на первые 3 строчки отчёта.

Там будет указана версия ARM (нужна v7), версия OS (2.3.3-2.3.7 и 4.0.3-4.3)  и указано поддерживается ли NEON (должно быть yes).

Источник

Список из 118 проверенных устройств

Jim McKeeth опубликовал список из 118 протестированных устройств (зеркало, html версия). Список получен с помощью сервиса Apkudo. Этот сервис позволяет загрузить свой APK, и проверить его работу на большом количестве разных устройств.

Для проверки Jim использовал простейшую программку типа Hello World.

Из 118 устройств APK установился только на 108 (на остальных был либо тайм-аут либо не хватило свободного места). Из 108 устройств, программка не запустилась только на 3.

  • Проверено устройств: 118
  • Не установилось на: 10
  • Зависло (Application not responding) на: 3
  • Успешно запустилось на: 105
  • Процент успеха: 89%

Источник

Официальные способы

Соответствие спецификации

Поддерживаются устройства архитектуры ARMv7 и ОС:

Название ОС Android

Версия ОС Android

API Levels

Jelly Bean

Android 4.1.x, 4.2.x, 4.3.x

API Levels 16, 17, 18

Ice Cream Sandwich

Android 4.0.3 and 4.0.4

API Level 15

Gingerbread

Android 2.3.3 - 2.3.7

API Level 10

Не поддерживается:

  • Honeycomb (Android 3.x)
  • Эмулятор Gingerbread
  • Устройства на процессоре Tegra 2 (поддержка NEON обязательна)

Ссылка на официальную документацию.

Список проверенных устройств от Embarcadero

Список можно найти в официальной документации от Эмбаркадэро.

Сюда копировать не буду. Если интересно – сходите по ссылке.

http://docwiki.embarcadero.com/RADStudio/XE5/en/Android_Devices_Supported_for_Application_Development#Results_of_Our_Android_Device_Testing

p.s. Забавно, но в Google Play уже появились и платные программки для проверки устройств на совместимость с Delphi ХЕ5. Стервятники, такие стервятники.


Читать дальше..

пятница, 11 октября 2013 г.

Ссылка: Почему веб-приложения на мобильных платформах работают медленно

 

Delphi XE5 дает возможность создавать нативные приложения и для десктопа и мобильных платформ (пока что Android и iOs). Единый код, UI, все дела.

Но зачем мне для этого покупать Delphi, воскликнет искушенный читатель? Я возьму какой-нибудь бесплатный мобильный Javascript фреймворк (Cordova, PhoneGap и другие) и сделаю то же самое. Не спеши, читатель, отвечу ему я. Ведь Javascript может оказаться слиииииишком медленным.

И вот одна статья на эту тему. Только сегодня! Только на нашей арене! Javascript против нативного кода! Сравнение производительности и предсказании будущего! Статья опубликована на Хабре 8 августа 2013.

Почему веб-приложения на мобильных платформах работают медленно

 

Статья по ссылке реально большая. И я позволю себе скопировать сюда выводы.

Вот что следует помнить:
* в 2013 году JavaScript является слишком медленным, чтобы его можно было использовать на мобильных устройствах для создания приложений типа обработки фотографий и пр.:
— он в 5 раз медленнее нативного кода;
— он сравним с IE8;
— он медленнее, чем x86 C/C++, примерно в 50 раз;
— он медленнее, чем серверные Java/Ruby/Python/C# примерно в 10 раз, если программа выделяет не больше 35 Мб памяти и резко замедляется при дальнейшем выделении памяти;
* Наиболее реальный способ его разогнать — это увеличить производительность процессора до уровня десктопа. Возможно это и произойдет, но не в ближайшем будущем;
* Сам язык последнее время нисколько не ускорился и его разработчики утверждают, что при сохранении языка и API, производительность никогда не догонит нативный код;
* Сборщик мусора сильно тормозит при ограниченном количестве доступной памяти. Он ведет себя сильно хуже, чем на декстопах или серверах;
* Каждый мобильный разработчик, независимо от того — использует он сборку мусора или нет — тщательно продумывает работу с памятью;
* JavaScript в настоящий момент фундаментально против того, чтобы даже попробовать оценить расход памяти на мобильных устройствах;
* Даже если они захотят дать эту возможность, опыт подсказывает, что сделать это будет очень трудно;
* Есть надежда на asm.js, но он, скорее, напоминает C\C++, чем что-то динамическое типа JS.


Читать дальше..

четверг, 3 октября 2013 г.

Delphi XE5 с поддержкой Андроида. Первые впечатления.

Delphi XE5 art

Не то, чтобы я очень ждал выхода Delphi XE5. Поначалу. На самом деле я даже не следил за новостями. Но за пару недель до релиза (как это выяснилось позднее) ситуация поменялась. Только-только стали появляться первые обзоры от бета тестеров XE5. А я решил проверить будет ли мой Lazy Delphi Builder работать с компиляторами от XE5.

Зарегистрировался на участие в бета тесте, стал следить за новостями и как-то потихоньку втянулся в активное ожидание, с ежедневной проверкой DelphiFeeds на тему новостей. Я как-то даже не верил, что у Embarcadero получится. Уж очень амбициозная цель была поставлена. Но у них получилось. Молодцы!

Доступа к бете я тогда так и не дождался – через неделю вышла полная версия.

Попытка первая.

Очень интересно, заработает ли у меня. Будет ли всё действительно просто – или придётся сначала потанцевать с бубном.

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

Времени читать документацию нет. Пара часов пролетает в лихорадочной доустановке Android SDK, NDK, настройке IDE и попытках запустить какую-нибудь демку на телефоне (Oppa-Delphi-Style!). Сначала получил ошибку о несовпадающей версии API. Потом выяснилось, что в телефоне не хватает места. Пара часов пролетела как пара минут оставив за собой дымный след несбывшихся надежд.

Попытка вторая.

Ко второй попытке я подошел основательнее. Скачал и установил наисвежаиший Android SDK. Взял другой телефонный аппарат, которые точно поддерживается Delphi XE5. На этот раз экспериментировал с Gigabyte GSmart Aku A1. Телефон тоже бюджетный но вышедший в августе 2013.

И засел за эксперименты.

В этот раз всё прошло как по маслу. Единственная проблемка с которой пришлось столкнуться связана с телефоном. Поиск USB драйвера для телефона превратился в квест. Windows 7 его сам не нашёл, стандартный USB драйвер из ASDK тоже не покатил. Нашёлся же драйвер "в самом неожиданном месте" - на сайте производителя (но тоже не сразу - спасибо форуму 4pda за наводку на правильный линк).

p.s. Собирал и устанавливал в телефон из IDE. Теперь интересно, можно ли это сделать из командной строки. (Lazy Delphi Builder тут бессилен, так как умеет только компилировать)


Читать дальше..

Постоянные читатели