-
Posts
2,565 -
Joined
-
Last visited
-
Days Won
646
Content Type
Profiles
Forums
Events
Store
Blogs
Blog Comments posted by Yaroslav Brovin
-
-
Hello @aziz,
This action was held in the period between 11 and 15 November. Today is November 22nd.
Thank you
- 1
-
Добрый день, Дмитрий.
Ваш файл не будет корректно отображен. Потому что он использует SVG эффекты, которые нами не поддерживаются на текущий момент.
Спасибо
-
Новые методы по работе с TfgBitmap и EXIF в 1.16.0.0
A group blog by Product Updates in General
4 hours ago, Игорь Мелентьев said:@Yaroslav Brovin, 2 опечатки в комментарии к методу
Спасибо 🙂 Сразу виден глаз опытного QA 😁
-
9 hours ago, Michal said:
I tried to import svg created with Inkscape but I got " SVG File is not supported". However it is correctly rendered in preview on the left side but not on the form. I have attached sample (had to change extension to txt)
If you are using Inkscape, use "Optimized SVG" format, when you save SVG file. It simplificates content and makes final SVG file faster for rendering and parsing.
- 1
-
5 hours ago, Michal said:
I tried to import svg created with Inkscape but I got " SVG File is not supported". However it is correctly rendered in preview on the left side but not on the form. I have attached sample (had to change extension to txt)
-
Новая система сборки Android приложений со значительным приростом скорости 🔥
A group blog by Product Updates in General
17 часов назад, sebekin сказал:Убрать, например, туда же, ку да и бинарники, то-есть DCC_DcuOutput и DCC_ExeOutput.
.android-build - это общие скрипты на все конфигурации. Она используется для сборки и релиза и отладочной версии и AAB. Поэтому если размещать такую папку согласно конфигурации приведет к дублированию этого каталога для каждой конфигурации.
-
Добрый вечер,
7 минут назад, r3h0soft сказал:Здравствуйте, сделал все как в описании, но вот проблема, нет такой библиотеки в репозитории
Просто введите название библиотеки вручную в первое поле "com.google.firebase:firebase-analytics:21.2.0". Поиск сделан только для одного репозитория из двух (maven). Для Google репозитория апи поиска не доступно.
- 1
-
Новая система сборки Android приложений со значительным приростом скорости 🔥
A group blog by Product Updates in General
Надо сравнивать с FMX. Сборка, запуск и отладка в принципе в делфи не шустрая. Она не сравниваться по скорости с Android Studio.
-
Новая система сборки Android приложений со значительным приростом скорости 🔥
A group blog by Product Updates in General
7 минут назад, Михаил Басов сказал:Да, каждый,
Это очень странно... Проверьте тогда без виртуалки и дайте знать.
Сколько времени занимает запуск FMX приложения?
-
Новая система сборки Android приложений со значительным приростом скорости 🔥
A group blog by Product Updates in General
Добрый вечер,
12 минут назад, Михаил Басов сказал:но для реальной работы ~ 3-5 минут до запуска простого демо конечно треш полный... с обычным старым проектом на ХE2 вообще полное отсутствие проблем с быстродействием
Только первый запуск выполняется долго. Последующие должны выполняться на порядок быстрее. Уточните, у вас каждый запуск одного и того же проекта занимает 3-5 минут?
-
20 часов назад, sebekin сказал:
А правильно ли я понимаю, что с устройствами Huawei без Google Apps это не будет работать?
Если я не ошибаюсь, то Firebase строится на основе GooglePlay. А Google Play не работает на Huawei OS, так что скорее всего нет, не будет.
P.S. Проверил зависимости, на Huawei работать не будет .
-
1 час назад, Артем сказал:
Текущая реализация с конвертацией продолжит работать?
Да, по умолчанию используется APS на iOS и FCM на Android.
- 1
-
Новая система сборки Android приложений со значительным приростом скорости 🔥
A group blog by Product Updates in General
В 02.11.2022 в 11:36, Benten сказал:И еще маленькое уточнение - получается, что android API - это полностью байткод под JVM, и не является нативом процессора. Т.е., по сути, android API - это натив JVM. Я правильно понимаю?
Не совсем. API - это просто набор публичных интерфейсов для использования на любой операционной системы. Реализация API может быть разной. В Android есть как минимуму две:
- Реализация через Байт код. Этот набор API находится в Android SDK.
- Реализация через нативный код (инструкции процессора). Этот набор объявлен в Android NDK.
В реализации FGX Native под Андроид мы используем и NDK и SDK (по большей части). Если с работой с NDK все довольно просто. Нужно написать заголовочные файлы для С-headers. То с использованием байт кода из делфи не все так просто. Для этих целей используется JNI.
ЦитатаА JVM, в свою очередь общается с процессорным нативом посредством JNI (Java Native Interface). Верно?
Нет. JVM выполняет байт код в виртуальной машине. Но по скольку байт код и Java существует не первый десяток. То за это время уже давно существуют всякого рода оптимизации. Одна из них - это JIT-компиляция. Это компиляция байткода в машинный код во время выполнения байт-кода.
А JNI - это API для работы с JVM из нативного кода. А именно JNI позволяет осуществлять использование Java объектов из нативного кода (где нет сборщика мусора и тд).
- 1
-
Новая система сборки Android приложений со значительным приростом скорости 🔥
A group blog by Product Updates in General
23 минуты назад, Benten сказал:Все понятно, Google рулит.
Не совсем так. Выбор решения зависит от целесообразности, обычно выраженная в требуемых финансовых средств. Если у компании есть большой штат сотрудников, которые могут заниматься системой сборкой, развивать и поддерживать, то почему бы и не делать свою. Но когда есть проверенное, рабочее решение. То зачем нам заниматься созданием своего велосипеда, когда есть Google с тысячами сотрудников, которые этим занимаются и поддерживают актуальность. Можно потратить это время на что-то более ценное для пользователей. В данном случае, Embarcadero судя по релизам не хватает средств для расширенной поддержки билд системы. Поэтому мы выбираем Gradle, как гарантированно рабочее, стабильное решение, не зависимое от версии Delphi.
Со временем мы превращаемся из Delphi разработчиков в java-программистов на языке Opjeсt Pascal.
Сложно представить любой язык без использования стороннего API. Вас же не удивляет, что на VCL вы используете WinAPI на Delphi, а не на С++ или C? Использование WinAPI в Delphi не делает из вас C++ разработчика 🙂
Обратите внимание, что на FGX Native вы пишите кроссплатформенный код на Delphi и вы можете ограничиться только этим. И мы занимаемся постепенным расширением его, чтобы гарантировать работу на iOS и Android. С другой стороны у вас есть возможность использовать все возможности операционной системы по полной, как с WinAPI. В итоге вам выбирать, что использовать. Если вам надо решить задачу, то какая разница какого типа код вы вызываете? Так что больше возможностей, больше возможности продукта.
ЦитатаНапример, я пришел в разработку Android из Windows десктопа, где все просто и понятно, где windows натив - это значит машинный код в командах архитектуры x86, который выполняется процессором напрямую, без всяких там оберток, wrapper и VM, можешь даже ASM код внедрять прямо в код delphi, если очень сильно хочется.
Так и в Android почти так. Есть Байт-код, а есть ваш натив - машинный код в командах архитектуры ARM, который так же выполняется напрямую. Обертки - это внутренний механизм для возможности взаимодействия нативного кода с JVM. Которая в конечном итоге так же выражается в виде байткода, который в конечном счете через JIT компиляцию выражается в нативных инструкциях процессора. Я думаю, вы это понимаете.
А так есть архитектура Андроид приложения, разработанная Google, и поэтому хочешь не хочешь, а ее надо придерживаться или приложения не будет.
ЦитатаА тут, я читаю у Ярослава про "натив" на Android и недоумеваю, какой тут может быть натив, если весь код в андроид выполняется исключительно на java виртуальной машине. Dalvik, кажется, называется, но суть от этого не меняется - это JVM - виртуальная машина. Значит мы имеем дело с неким байт-кодом, в который компилируется наше delphi приложение с java-библиотеками или без оных, но это же не натив, это именно промежуточный байт-код, выполняемый виртуальной машиной Dalvik.
Все верно. У слова "натив" есть несколько смыслов:
- Натив - как последовательность инструкций, выполняемых напрямую на процессоре.
- Натив - как использующее родное API для операционной системы/приложения. Даже если это и байт код.
С этой точки зрения. FGX Native является и тем и другим. FGX Native использует напрямую Android API (представляющее собой байт код) и взаимодействует с JMV, но с другой стороны код вашего приложения является по большей части инструкциями к процессору.
23 минуты назад, Benten сказал:В Андроид разработке нет полноценного натива, поправьте меня, если я не прав, буду премного благодарен.
Так же верно. Андроид приложение - это стартовый байт код, которые загружает нативный код и передает ему управление (если мы говорим про FGX Native или FMX).
- 1
-
Только что, Andrea Giaquinto сказал:
Interesting update!
When you will publish 1.14.4.0?
The release will be avialable on this week.
-
-
[Вебинар] Создание популярного мобильного приложения с FGX Native
in Events
A group blog by Events in General
Демо проект с вебинара опубликован здесь:
- 1
-
[Вебинар] Создание популярного мобильного приложения с FGX Native
in Events
A group blog by Events in General
Добрый день, будет. Как будет все выложено, я сообщу.
- 2
-
Утилита генерации заголовочных файлов для Java (Java2Delphi)
in Guides
A group blog by Guides in General
2 минуты назад, Benten сказал:А как быть со второй частью вопроса? Можно не добавлять всю библиотеку android.jar в свой зоголовочник, или это обязательное условие?
Обязательно нужно добавлять. Android.jar - это по сути Java часть реализации Андроида. В нее входит в том числе Java SDK, это базовые типы (как в делфи RTL). Любая Андроид библиотека использует как минимум классы из Java SDK, поэтому необходимо для генератора добавить android.jar. В противном случае, если генератор не найдет нужные классы, которые использует ваша библиотека, она просто не будет включать их обертку в делфи хедер.
- 1
-
Релиз сегодня будет, чуть попозже.
- 2
-
1 минуту назад, Stas сказал:
Вот тут непонятно, как Ios к TfgAndroidIntent отнесется?
Там будет просто TObject.
type {$IFDEF ANDROID} TfgAndroidIntent = JIntent; {$ELSE} TfgAndroidIntent = type TObject; {$ENDIF}
-
Подключение Yandex AppMetrica для FGX Native приложений для iOS
in Guides
A group blog by Guides in General
Данное решение предложено для использования в связке FGX Native. И это работает отлично.
-
Подключение Yandex AppMetrica для FGX Native приложений для iOS
in Guides
A group blog by Guides in General
Добрый вечер,
Статья для Андроида доступна только пользователям с подпиской.
-
[Вебинар] Пример использования библиотеки FGX Native для создания мобильного приложения по покупке продуктов
in Events
A group blog by Events in General
Анонс 1.11.0.0 и TfgPhotoPicker
in Product Updates
A group blog by Product Updates in General
Posted
Добрый вечер,
Нет, на текущий момент такой возможности нет. Можно выполнить ручное переименование файла уже после получения.