Lazarus и Android - обмен опытом

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Lazarus и Android - обмен опытом

Сообщение Aleks69 » 01.03.2021 12:20:11

Добрый день!

Предлагаю в этой теме обсуждать все, что связано с использованием Lazarus для написания под Android.

Делал почти по инструкции: https://wiki.freepascal.org/LAMW/ru

Все вполне работает, включая автоматический запуск эмулятора после окончания компиляции в среде lazarus.

Только там laz4android, на который ссылаются, не смог поставить коомпоненты (не хватает памяти!), хотя был открыт только он. Видимо, та версия не может использовать выше 4Gb, поэтому взял laz4android по-новее.
Конечно, среда получилась несколько эклектичная, но, во всяком случае, с настройками нового проекта Android c GUI: NDK - 21, Min APi - 14, Target API 29, Builder - ANT, ARMv7a+SOFT
APK-файл собирается и на телефоне запускается.
Последний раз редактировалось Aleks69 03.03.2021 18:02:25, всего редактировалось 1 раз.
Aleks69
новенький
 
Сообщения: 35
Зарегистрирован: 29.03.2009 14:25:01

Re: Lazarus и Android - обмен опытом

Сообщение Seenkao » 01.03.2021 13:38:26

Честно говоря, на официально форуме FPC/Lazarus - довольно не мало этой теме посвящено.

А так, как я занялся больше нативными приложениями под Android, то может кого и заинтересует так же нативная разработка. Но я больше использовал Eclipse для сборки приложения. APT, Gradle не очень почему-то захотелось пользоваться. Хотя, думаю там сложного тоже мало.

Плейлист с видео по Android - в плейлисте приведён так же с абсолютно нативным приложением.
Ссылка на код, абсолютного нативного приложения. - код не мой и сделан достаточно давно. Как пример хорошо подойдёт.
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

Re: Lazarus и Android - обмен опытом

Сообщение java73 » 01.03.2021 17:21:22

С лета, сидя на карантине, я начал изучать котлин и андроид программирование. И нисколько не жалею. Нет в мире двух более предназначенных друг для друга предметов, чем котлин и андроид. Если уж гугол это сам понял (три года назад), то почему остальные упираются? Ни питон с киви/кивимд, ни лазарус с неизвестно чем не сравнятся с красотой котлина как языка, удобством идеи или андроид студии, размером коммьюнити, количеством библиотек, архитектурных гайдлайнсов и т.п.
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Lazarus и Android - обмен опытом

Сообщение Aleks69 » 01.03.2021 17:33:28

Насчет котлин пожалуй согласен. Была у меня слабая надежда, что в теории можно, хотя бы частично, портировать через соотв. Lazarus на Android виртуальную машину Diesel Pascal - для "мгновенной" разработки и развертывания приложений. Но, мне кажется, это потребовало бы ведения по-сути, еще одной ветки Diesel Pascal. Дело, не в последнюю очередь в том, что андроидные ReiativeLayout и прочие не имеют прямых аналогов (?) при работе дизайнера форм, и, в конечном итоге, работы с окнами в Windows. Более опытные товарищи, возможно, поправят.
Aleks69
новенький
 
Сообщения: 35
Зарегистрирован: 29.03.2009 14:25:01

Re: Lazarus и Android - обмен опытом

Сообщение Seenkao » 01.03.2021 18:39:45

java73, может быть потому, что: "Чего-то тут не хватает...", "Что-то у меня это тормозит..." и подобное?
Я не стал даже рассматривать Android Studio как средство разработки программ под Android. Причём от слова совсем.

Я прекрасно помню, как беря какой-нибудь Delphi, TurboPascal - ты брал и делал то, что работало быстро! И тебе не приходилось бодаться с "оболчками" чтоб они тоже работали быстро. Как выходили программы достаточно небольшие (хотя уже тогда ругались, что слишком большие получаются программы).

А что из этого может предоставить Android Studio? Я лично, не вижу ни чего!

Но! Мы смотрим абсолютно под разными углами! Меня не интересуют визуальные интерфейсы в том варианте, в каком они предоставлены сейчас. Ни в одной из оболочек разработки! А вас, они устраивают!

Меня интересует скорость работы программы, вас интересует скорость разработки программы.

И, если визуальные компоненты не будут (вдруг кгда-то) занимать как лишнее место в программе, так и лишнее процессорное время - то вероятно такая оболочка вполне сможет удовлетворить. Но опять помнить надо, что оболочка тоже тормозить не должна!!!! :)
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

Re: Lazarus и Android - обмен опытом

Сообщение java73 » 02.03.2021 07:49:54

Не понимаю о чем мы, о какой тормознутости такой говорите. Идея у меня работает на древнем одиннадцатилетнем пк. Студия конечно потребовательнее, но и отдает взамен она несравнимо больше. Насчёт интерфейсов тут нужно следить, поскольку мир меняется каждый месяц так, что пропустив, не поймёшь ничего. Сейчас прямо активно двигается compose, мультиплатформенная декларативная парадигма. Одновременная разработка под десктопы и любые ос, андроиды и иос.
Чего может не хватать в студии? Это иронический надеюсь вопрос? Может анализатор кода и предсказатель не устраивают? Автоматический рефакторинг, оптимизация циклов, рекурсий, автолинтер, навигация по коду, интерфейсам, имплементациям и даже автоматически сгенерированным фабрикам зависимостей?
А насчёт интерфейсов самих сред.... Ну здесь дело привычки же. Андроид студия, установленная на ссд вполне нормально летает. А в итоге выходит нативный оптимизированный код, для своей родной на андроиде jvm. Вы собирали когда-нибудь приложение на питоне с киви? Он в пакет включает полностью весь питон и запускает его внутри виртуальной машины jvm, и выполняет ваш код как на реальной питон машине. Думаете паскаль лучше собирается под jvm, чем родной для него код?
Но и это не главное. Главное на мой взгляд - огромная инфраструктура библиотек вокруг java/kotlin. И как вишенка сверху - сам котлин.

Seenkao писал(а):java73, может быть потому,
что: "Чего-то тут не хватает...", "Что-то у меня это тормозит..." и подобное?
Я не стал даже рассматривать Android Studio как средство разработки программ под Android. Причём от слова совсем.

Я прекрасно помню, как беря какой-нибудь Delphi, TurboPascal - ты брал и делал то, что работало быстро! И тебе не приходилось бодаться с "оболчками" чтоб они тоже работали быстро. Как выходили программы достаточно небольшие (хотя уже тогда ругались, что слишком большие получаются программы).

А что из этого может предоставить Android Studio? Я лично, не вижу ни чего!

Но! Мы смотрим абсолютно под разными углами! Меня не интересуют визуальные интерфейсы в том варианте, в каком они предоставлены сейчас. Ни в одной из оболочек разработки! А вас, они устраивают!

Меня интересует скорость работы программы, вас интересует скорость разработки программы.

И, если визуальные компоненты не будут (вдруг кгда-то) занимать как лишнее место в программе, так и лишнее процессорное время - то вероятно такая оболочка вполне сможет удовлетворить. Но опять помнить надо, что оболочка тоже тормозить не должна!!!! :)
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Lazarus и Android - обмен опытом

Сообщение Seenkao » 02.03.2021 12:25:39

java73 писал(а):Думаете паскаль лучше собирается под jvm, чем родной для него код?

Не знаю, что питон туда пихает, но могу сказать однозначно, что большинство оболочек туда что-то пихают. Может как исключение Eclipse, IntelJ IDEA и в каких-то случаях (от умельца зависит) Android Studio.

Первое: изначально вы речь про студию и вели!!! А она тормознута! И чуть слабый компьютер и всё.
Второе: я, большей части, придерживаюсь того, что приложения должны работать у большинства пользователей! А большинство, это не последние модели телефонов! И все "новые" приложения (почти все) просто тормозят на большинстве телефонов.

Теперь про FPC/JVM - нативный код исполняется быстрее - да. Но им правильно пользоваться надо! Иначе смысла не будет в нативном коде, забивая его множеством вызовов виртуальной машины и её библиотек.
И все! Абсолютно все библиотеки, что вы используете в Kotlin доступны и для FPC. Как в нативном так и в JVM видах.

По удобству спорить бесполезно, потому что тут в любом случае пока FPC/Lazarus проиграет.
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

Re: Lazarus и Android - обмен опытом

Сообщение java73 » 02.03.2021 16:32:41

Seenkao писал(а):Второе: я, большей части, придерживаюсь того, что приложения должны работать у большинства пользователей! А большинство, это не последние модели телефонов! И все "новые" приложения (почти все) просто тормозят на большинстве телефонов.

ВОТ!!!!!!!!!!!!!!!!!
Вот, что как раз ни в коей степени не зависит от Студии. А исключительно от того, КАК разработчик пишет свое приложение. Точнее, непонимания очень большим количеством разработчиков того, как андроид управляет памятью, потоками и самими приложениями. Уж сколько гугол не пишет и не разжежывает разработчикам о том, какими архитектурными приемами следует руководствоваться, пишет для них уже готовые библиотеки (хотя бы jetpack взять), все равно находятся те, кто начнут на главном потоке качать весь интернет, засовывать в список с тысячей визуальных элементов и потом удивляться, что все тормозит...
То, на чем будет работать приложение, указывает сам разработчик в манифесте, устанавливая минимальный уровень sdk.
И, да, всегда следует помнить о том, что смартфон - это визуальная вещь, подчиняющаяся единому стилю, и писать приложения следует как тонких клиентов, а не пихать в них все, начиная с orm к базе данных и заканчивая логикой, заставляющей процессор гореть.
В студии есть прекрасный профайлер приложения, который максимально наглядно демонстрирует, как работающее приложение нагружает память, сеть, цп и батарейку.
А андроид - максимально комфортная ос, непосредственно направленная на высокую производительность, отзывчивость и гибкость. Любые тормоза приложений - грехи разработчиков, не знающие как работает многопоточная система.
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Lazarus и Android - обмен опытом

Сообщение Alex2013 » 21.06.2022 20:20:09

Никогда такого не было и вот опять...
Вообщем, кто в курсе подскажите пожалуйста (если не в лом), что это за глюк и что с ним делать ?
("SDK Manager.exe" обновлял не помогает. )
Изображение

Добавлено спустя 19 часов 30 минут 6 секунд:

В копилку знаний...
LAZARUS: сборка приложения под андройд

Использование кросскомпиляции в Lazarus

Lazarus, Android и LAMW-мастер
Последний раз редактировалось Alex2013 10.12.2023 13:11:37, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2924
Зарегистрирован: 03.04.2013 11:59:44

Re: Lazarus и Android - обмен опытом

Сообщение Tango » 22.06.2022 17:35:43

Такого уродца как Kotlin я ещё в жизни не встречал, C и C++, да, страшны, но именно уродца. Это плод близкородственного смешения Java и C++, и получилось ужасно.
Аватара пользователя
Tango
постоялец
 
Сообщения: 156
Зарегистрирован: 31.05.2012 17:07:30

Re: Lazarus и Android - обмен опытом

Сообщение Alex2013 » 23.06.2022 03:49:20

Ура ! Артель "Дройдек поскакал" работает !
Изображение
(Там просто был "синдром 11-го вагона" по Задорному :idea:
в LAMWandroid-sdk-windows лежит SDK_Manager.exe,
а в LAMWandroid-sdk-windowstoolsbin sdkmanager.bat
угадайте что я запускал глядя на подсказку в табличке ? :wink:
Как внезапно выяснилось надо было sdkmanager.bat .
( Причем те же самые параметры подходят и для SDK_Manager.exe )

Примеры к LAMW собираются не все но кое что все-же работает сходу .

Добавлено спустя 1 час 3 минуты 18 секунд:
Прикол LAMW : оказывается если закрыть эмулятор и подключить по USB реальный андроид гаджет то после сборки программа туда автоматически установится.
Изображение

Добавлено спустя 7 часов 54 минуты 43 секунды:
Еще одно важное замечание...
Архив lazandroidmodulewizard-master.zip нужно распаковывать в lazarus\components иначе он не будет правильно подхватывать сопутствующие пакеты.
Alex2013
долгожитель
 
Сообщения: 2924
Зарегистрирован: 03.04.2013 11:59:44


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 41

Рейтинг@Mail.ru