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

Что невозможно сделать на Delphi для Android?


Вольдемар

Вопрос

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

  • 0

Да конечно можно сделать красиво на FMX. просто народу влом разбираться с дизайном.

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

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

TMS Web Browser под андроидом по крайней мере закрывается вместе с окном, на котором он расположен. И кучи других проблем отсутствует. Может и контроллы поверх класть можно (не проверял, надобности не было). Но как навигацию использовать реально. У меня курьеры ездили.

 

Контролы нельзя класть, т.к. нету z-ордера (андроид), поэтому нативные всегда будут выше

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

Да конечно можно сделать красиво на FMX. просто народу влом разбираться с дизайном.

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

Можно делать красиво, но например со списками дела скудные. Чтобы делать красиво, пришлось внести корректировки в ЛВ, так и появился ModernLV.

Сейчас на нем делают сумасшедшие вещи, 

фмх не очень хорошо работает с кешированием стиля, из-за это списки на ЛБ или на скролбоксе дикий ужас

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

Про красиво - вот наш прототип. Более менее UFriendly

DABD3B8B-5E46-4061-BF6A-0F3EBBEAB9EC.png

Верхнюю кнопку - как вы ее сделали прозрачной и с ободком? Стили использовали?

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

Верхнюю кнопку - как вы ее сделали прозрачной и с ободком? Стили использовали?

Нет. обычный Rectangle + Fill.Color := 0; Stroke.Color := White;

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

Нет. обычный Rectangle + Fill.Color := 0; Stroke.Color := White;

Кстати обрати внимание на https://github.com/OneChen/FMXNativeDraw 

Там есть ссылка на статью на китайском. Основная фишка - сглаженные линии в FMX, втч и в векторе..

Изменено пользователем ENERGY
Ссылка на комментарий
  • 0

Сравнивать RAD надо не с нативными студиями разработки, а с Xamarin, например, там вообще тихий ужас...

Есть 1С:Мобильная платформа, там тоже можно собирать под Android, iOS - правда все в желтом цвете (про toolbar), но знаю людей, кто на этом столько денег заработал, что авторы нативных приложений и не видели еще... 

Дело в направленности приложений и ДА, некоторые типы приложений (например, корпоративные) делаются быстрее.

Не надо рисовать виджет погоды на Delphi, не надо делать путеводитель по сортам кофе на Delphi. Делайте это нативными инструментами. 

Востребованность в кроссплатформе есть и эта тенденция будет только усиливаться. 

 

Сейчас это напоминает мне разговор в 1998 году о том, что все ПО под Windows надо писать на C++, потому что на других языках - НЕ НАТИВНО, МЕДЛЕННО РАБОТАЕТ, ПОДВИСАЕТ! 

А потом, я пришел  в одну контору и руководство провозгласило: ТОРМОЗИТ? Добавьте Гигагерц и ОЗУ -  это дешевле и быстрее, нежели переписывать на нативных языках! Так вот, со временем так же будет и с мобилами! и уже очень скоро!

 

НЕ РАБОТАЕТ НА КИТАЙСКИХ СМАРТФОНАХ? выбросьте их и купите уже нормальные аппараты! :) это дешевле, нежели платить Kotlin разрабу!

Изменено пользователем wamaco
Ссылка на комментарий
  • 0
33 минуты назад, wamaco сказал:

Добавьте Гигагерц и ОЗУ -  это дешевле и быстрее, нежели переписывать на нативных языках!

Ага. И потом текстовый редактор, написанный на яве 2-3 Гига ОЗУ отжирать начинает, и тормозит на SSD безбожно. Это подход неумех, которым сложно после выделения памяти её освободить. Отсюда и получаются диезы, котлины и прочие явы.  А сберовские банкоматы тормозят даже при вводе пин кода.

Но это подход неумех. Дельфи даёт возможность писать нормальный, нативный код, но при этом не требовать компьютер за $500. Но это только VCL+ограничение 32битных приложений. Вот если когда-нибудь FMX начнёт работать стабильно - это будет бомба.

А что касается сравнения с хамариным - проект купило майкрософт. Так что на 95% можно быть уверенным, что проекту хана. Он так и не взлетит.

4 часа назад, Равиль Зарипов (ZuBy) сказал:

Контролы нельзя класть, т.к. нету z-ордера (андроид), поэтому нативные всегда будут выше

В других программах это как-то делается, значит как-то это сделать можно. ИМХО. Но спорить не буду, свечку не держал. Я, когда решал схожую задачу, эту часть в ява скрипт вынес и ловил колл-беки с браузера, так как мне было проще воспользоваться готовым апи яндекса.

НЕ РАБОТАЕТ НА КИТАЙСКИХ СМАРТФОНАХ? выбросьте их и купите уже нормальные аппараты

Не получится такого. Нанимается в фирму курьер, таксист, прочий франчайзя. Хозяину надо каждому телефон, на котором софтина не глючит подарить? У них у половины последние яфоны (при том, что ездят на классиках убитых), а у другой половины как раз эти китайские андроиды. А текучка там ого-го.
 

Изменено пользователем Akad
Ссылка на комментарий
  • 0
42 минуты назад, wamaco сказал:

Не надо рисовать виджет погоды на Delphi, не надо делать путеводитель по сортам кофе на Delphi. Делайте это нативными инструментами. 

 

Как раз наоборот, такие простые приложения и надо делать в Delphi. 

В нативных нужно делать Виджеты, службы, всякие Dialler 'ы (на замену стандартному),  камеры, и сложные приложения которые замещают системный функционал и 3d графикой.

 

А насчет производительнсти - у меня Xiaomi A1 - на нем мои FMX приложения запускается около секунды и никаких проблем с производительностью нет (правда я и не использую в больших списках ListBox и стараюсь оптимизировать). И это вполне себе средний смарт.

Что интересно, я также не замечаю тормозов и на древнем HTC с Android 4.01 с 512 мб.

Изменено пользователем ENERGY
Ссылка на комментарий
  • 0
6 минут назад, ENERGY сказал:

В нативных нужно делать Виджеты, службы, всякие Dialler 'ы (на замену стандартному),  камеры, и сложные приложения которые замещают системный функционал и 3d графикой.

Перечислены кучи бесполезного софта (всякие Dialler 'ы (на замену стандартному))!

Тут согласен!

 

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

Но это подход неумех.

Я не про "неумех" и "умех", я про тенденцию времени, некоторые вещи оптимизации ПО, особенно в энтерпрайзе, решаются увеличением мощности!

и это жиза, сплошь и рядом! "1С плохо и тяжело работает в сетке? Ничего! Подключимся все через RDP, поставим мощный проц и оперативы по больше и все в порядке!"

к сожалению, это так! другие критерии важны! Очень важна скорость разработки! Очень! Даже не оптимизированная!

 

ПОТОМУ ЧТО, НАДО СДЕЛАТЬ РЕАЛИЗАЦИЮ ПО ТЗ ЕЩЕ ВЧЕРА! :)

Изменено пользователем wamaco
Ссылка на комментарий
  • 0

Кстати согласен про современые тенденции, ПО банкомата Приватбанка очень тормозное. Даже обычный true\false флаг -  печатать чек или нет - думает пару секунд.

Я когда то помню снимал деньги в банкомате VAB , причем с карты приватбанка, так там все мгновенно работает, показать сумму на счету - сработало почти сразу после нажатия кнопки.

Я еще по привычке стоял ждал, а потом смотрю ничего не меняется, а оказывается уже давно все сделано. :)

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

Нативный вариант конечно лучше, тут спору нет. Вот только времени нужно на разработку в нативе 2-4  раза больше если >=2 платформ. И в основном тут даже не производительность важна, а документация с примерами, компоненты и большое сообщество. 

А вообще хороший программист должен знать несколько языков программирования и использовать их там где выгодней по срокам и сложности.

 

@Равиль Зарипов (ZuBy)

Равиль, ты пишешь под iOS на Kotiln или Swift?

 

 

Изменено пользователем ENERGY
Ссылка на комментарий
  • 0

Очередные холивары из разряда "мои проблемы никто не хочет решить за меня, значит Delphi плохой инструмент, давайте все перейдем в другую песочницу...". Минусы FMX есть и будут, от этого никуда не денешься, но в последнее время весь soft и продукты катятся в яму с кучей bugs даже от крупных компаний и корпораций даже спустя многие releases. 

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

Проблемы FMX  в следующем:

  1. Жесткая привязка к версии SDK, возможно сделано целенаправленно, чтобы пользователи обновляли лицензии год за годом.
  2. Позволяет разработчику не углубляться в особенности операционной системы, и не меняя мышления клепать свой "первоклассно рабочий VCL стиль" код и тонны компонентов под все платформы.
  3. Пропаганда "возьмите свой старый код и сделайте мобильное приложение" - маркетологи, вы в своем уме?
  4. Отсутствие достойных плагинов для IDE. Тот же Cn Wizard давно пора включить по дефолту. Неужели сложно добавить плагин для создания wrappers для java классов сразу в IDE? Разве сложно загрузить приложение прямо в маркет без ручного копирования?  Отсутствует редактор manifest, plist как таковой. Вспоминается анекдот про танк и "доработать напильником".
  5. Многие достойные вещи делаются на голом энтузиазме сообществом, но почему-то только спустя много-много времени внедряются в коробку.
  6. Отсутствует нормальный debug на мобильных платформах, логами все не покроешь.
  7. Ограничения в ARM процессорах.
  8. Желание все хранить в .fmx, .dfm файлах, а не ссылками в ресурсы, как это принято в мобильной разработке. Это конечно обходится написанием своих менеджеров, но неужели сложно это продумать из коробки? Такое чувство, что пытаемся охватить как можно больше платформ по чуть чуть, чтобы кому-нибудь впарить свой продукт, а уже потом будем думать, как выкручиваться.
  9. FMX Canvas - ахиллесова пята.

Не смотря на все это FMX является очень мощным инструментом и крайне приятным в умелых руках, если вы любите напильник (или мазохист). Средне статические проекты можно реализовывать не боясь, но для более серьезных вещей понадобятся знания нативной разработки, без этого никак. Если заказчик начинает разговор "я хочу такое, как в том-то приложении..." - значит без написания своей обертки или исправления исходников не обойдешься.

FMX в последнее время активно развивается и спустя Х лет все будет у нас превосходно, просто не бегите за новыми версиями, а подождите Update 3 или используйте предыдущую версию (Berlin Update 2 все еще в соку).

Другие кросплатформенные frameworks (Xamarin, Reac Native, RemObject, Native script, другие) тоже не лишены недостатков, но там слегка другие концепции и другая аудитория, кто лучше - покажет лишь время.

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

 

50 минут назад, Fedor K сказал:

 

1. Нет жесткой привязки, можно использовать последний SDK. Есть рекомендуемый SDK, с которым EMBT протестили студию.

2. Абстракция это наоборот огромный плюс

6. А что не так сейчас отладкой? Под Android медленно согласен, но она работает, под iOS вполне быстро. 

7. Какие ограничения ARM?

8. Не совсем понял в чем тут проблема для финального результата.

 

Изменено пользователем ENERGY
Ссылка на комментарий
  • 0
  • Модераторы
5 часов назад, ENERGY сказал:

Нативный вариант конечно лучше, тут спору нет. Вот только времени нужно на разработку в нативе 2-4  раза больше если >=2 платформ. И в основном тут даже не производительность важна, а документация с примерами, компоненты и большое сообщество. 

А вообще хороший программист должен знать несколько языков программирования и использовать их там где выгодней по срокам и сложности.

 

@Равиль Зарипов (ZuBy)

Равиль, ты пишешь под iOS на Kotiln или Swift?

на Свифте, Котлин хочу попробовать, но это так побаловаться

 

3 часа назад, ENERGY сказал:

1. Нет жесткой привязки, можно использовать последний SDK. Есть рекомендуемый SDK, с которым EMBT протестили студию.

2. Абстракция это наоборот огромный плюс

6. А что не так сейчас отладкой? Под Android медленно согласен, но она работает, под iOS вполне быстро. 

7. Какие ограничения ARM?

8. Не совсем понял в чем тут проблема для финального результата.

1) Ну а толку, в андроиде многое зависит от темы приложения. А её мы не можем менять

2) Скорее всего он не про абстракции, а про непонимание людей что десктоп и мобилка это абсолютно разные платформы. И от непонимания это начинаются тупые вопросы, про то что у него таблица лагает или список не плавный. Якобы на десктопе 100500 записей норм, а на мобилке все висит.

8) Если я правильно понял, то это он говорит про assets, хранение файлов на устройстве (в виде файлов), а не в виде зашитых ресурсов (как сейчас в fmx) Как итог у ФМХ свой Assets manager который тупо вытаскивает файлы из ресурсов и кладёт в папку, но прикол в том что доступ к файлу есть и через ресурсы и через путь. Ничего хорошего в этом нету, ваши картинки которые возможно никогда не покажутся на экране все время находятся в оперативной памяти

Ссылка на комментарий
  • 0
8 часов назад, ENERGY сказал:

Кстати обрати внимание на https://github.com/OneChen/FMXNativeDraw 

Там есть ссылка на статью на китайском. Основная фишка - сглаженные линии в FMX, втч и в векторе..Ага

Ага, уже ранее нарывался на эту статью. Но не стал качать и разбираться. Стоящее?

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

Ага, уже ранее нарывался на эту статью. Но не стал качать и разбираться. Стоящее?

у меня на гите есть компоненты на этом модуле. Фишка в том что используется нативный рендеринг под платформы.

Хотя канвас не полностью прокинут, но его достаточно чтобы сделать красиво

Ссылка на комментарий
  • 0
1 час назад, Равиль Зарипов (ZuBy) сказал:

8) Если я правильно понял, то это он говорит про assets, хранение файлов на устройстве (в виде файлов), а не в виде зашитых ресурсов (как сейчас в fmx) Как итог у ФМХ свой Assets manager который тупо вытаскивает файлы из ресурсов и кладёт в папку, но прикол в том что доступ к файлу есть и через ресурсы и через путь. Ничего хорошего в этом нету, ваши картинки которые возможно никогда не покажутся на экране все время находятся в оперативной памяти

Про память возможно и не точно. Я в чатике проводил "исследование" месяца 1,5 назад...

5a94f75fa488f_.PNG.f69b36f3c3a7d33ccb27906a7136022f.PNG

Ссылка на комментарий
  • 0
26 минут назад, Равиль Зарипов (ZuBy) сказал:

у меня на гите есть компоненты на этом модуле. Фишка в том что используется нативный рендеринг под платформы.

Хотя канвас не полностью прокинут, но его достаточно чтобы сделать красиво

Равиль, безмерно благодарен за ZMaterial. Они очень помогли сделать интерфейсы более красивыми.

Вот с ModernLV пока не подружился, но понимаю что без него не обойдется

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

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

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

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

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...