Kotlin. Потому, что официальный предпочитаемый язык. На втором месте Java. Потому, что официальный язык. Flutter я бы не использовал, не люблю кросс-платформенные решения.
Re[2]: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, vsb, Вы писали:
vsb>Kotlin. Потому, что официальный предпочитаемый язык. На втором месте Java. Потому, что официальный язык. Flutter я бы не использовал, не люблю кросс-платформенные решения.
Хм... а почему в рейтинге TIOBE Котлин на 36-м месте?
Лучше колымить в Гондурасе, чем гондурасить на Колыме.
Re[3]: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, Tai, Вы писали:
vsb>>Kotlin. Потому, что официальный предпочитаемый язык. На втором месте Java. Потому, что официальный язык. Flutter я бы не использовал, не люблю кросс-платформенные решения.
Tai>Хм... а почему в рейтинге TIOBE Котлин на 36-м месте?
Без понятия, я не знаю, что это за рейтинг и как он считается.
Re: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, Tai, Вы писали:
Tai>Если делать приложение для Android, то какой язык вы бы выбрали: Java, Kotlin, Flutter?
Tai>И почему?
Зависит от сроков. Если надо быстро, то выбрал бы Яву, потому что я на ней уже писал, и вся цепочка от создания проекта до публикации мне уже известна.
Котлин я просто не знаю, поэтому взялся бы за него только когда в приложении требовалась бы какая-то сложная логика, и у меня было бы время на изучение Котлина.
Re: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, Tai, Вы писали:
Tai>Если делать приложение для Android, то какой язык вы бы выбрали: Java, Kotlin, Flutter?
Flutter+Dart если не знаешь НИЧЕГО. Tai>И почему?
Видимо, гугл в ближайшее время будет продвигать дарт.
Sic luceat lux!
Re[4]: Если делать приложение для Android, то какой язык вы бы выбрали?
vsb>>>Kotlin. Потому, что официальный предпочитаемый язык. На втором месте Java. Потому, что официальный язык. Flutter я бы не использовал, не люблю кросс-платформенные решения.
У меня есть много наработок на Python и хотелось бы их внедрить в мобильное приложение. Думаю, какой язык/среда позволили бы это сделать?
Лучше колымить в Гондурасе, чем гондурасить на Колыме.
Re[5]: Если делать приложение для Android, то какой язык вы
Здравствуйте, Tai, Вы писали:
vsb>>>>Kotlin. Потому, что официальный предпочитаемый язык. На втором месте Java. Потому, что официальный язык. Flutter я бы не использовал, не люблю кросс-платформенные решения.
Tai>У меня есть много наработок на Python и хотелось бы их внедрить в мобильное приложение. Думаю, какой язык/среда позволили бы это сделать?
Для Android, если это Python 2, можно попробовать Jython и обычное Java-приложение.
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, Tai, Вы писали:
vsb>>>>>Kotlin. Потому, что официальный предпочитаемый язык. На втором месте Java. Потому, что официальный язык. Flutter я бы не использовал, не люблю кросс-платформенные решения.
Tai>>У меня есть много наработок на Python и хотелось бы их внедрить в мобильное приложение. Думаю, какой язык/среда позволили бы это сделать?
vsb>Для Android, если это Python 2, можно попробовать Jython и обычное Java-приложение.
Поясните, пожалуйста, не понял. Пишу на Python 3
Лучше колымить в Гондурасе, чем гондурасить на Колыме.
Re[5]: Если делать приложение для Android, то какой язык вы
Здравствуйте, Tai, Вы писали:
Tai>У меня есть много наработок на Python и хотелось бы их внедрить в мобильное приложение. Думаю, какой язык/среда позволили бы это сделать?
Здравствуйте, Tai, Вы писали:
vsb>>>>>>Kotlin. Потому, что официальный предпочитаемый язык. На втором месте Java. Потому, что официальный язык. Flutter я бы не использовал, не люблю кросс-платформенные решения.
Tai>>>У меня есть много наработок на Python и хотелось бы их внедрить в мобильное приложение. Думаю, какой язык/среда позволили бы это сделать?
vsb>>Для Android, если это Python 2, можно попробовать Jython и обычное Java-приложение.
Tai>Поясните, пожалуйста, не понял. Пишу на Python 3
Официальный язык программирования на Android это Java (ну или Kotlin, который компилируется в Java-байткод). Кроме того есть библиотека Jython, которая позволяет из Java вызывать код на Python. Но, вроде, только для второго Python она работает, хотя я не копался. Можно написать на Java андроид-приложение и вызывать код на Python в нужном месте.
vsb>Официальный язык программирования на Android это Java (ну или Kotlin, который компилируется в Java-байткод).
Очень спорное утверждение. Андроид принадлежит Гуглу. Гугл же создал Flutter для разработки приложений в том числе под Андроид. И многие свои приложения Гугл делает на нем. Так что Flutter спокойно можно назвать официальным языком.
Я выбрал Flutter. Одна из главных причин — легкость в изучении. Зная дельфи и пхп для меня освоение флаттера не составило труда особого. Ну, и , конечно, кроссплатформенность — причем, подо все — это очень важный фактор.
Здравствуйте, Tai, Вы писали:
Tai>Если делать приложение для Android, то какой язык вы бы выбрали: Java, Kotlin, Flutter?
Kotlin
Tai>И почему?
Kotlin — язык удобный, писать гораздо приятнее и меньше чем на java. При это можно совмещать с явой. Литературы более чем достаточно
T>Я выбрал Flutter. Одна из главных причин — легкость в изучении. Зная дельфи и пхп для меня освоение флаттера не составило труда особого. Ну, и , конечно, кроссплатформенность — причем, подо все — это очень важный фактор.
А что их гугловых приложения на нем?
Re[10]: Если делать приложение для Android, то какой язык вы
Здравствуйте, Михaил, Вы писали:
T>>Я выбрал Flutter. Одна из главных причин — легкость в изучении. Зная дельфи и пхп для меня освоение флаттера не составило труда особого. Ну, и , конечно, кроссплатформенность — причем, подо все — это очень важный фактор.
М>А что их гугловых приложения на нем?
Говорят, что Google Ads.
Re: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, Tai, Вы писали:
Tai>Если делать приложение для Android, то какой язык вы бы выбрали: Java, Kotlin, Flutter? Tai>И почему?
Мой Выбор C++ и Qt 5.9
Java, Kotlin, Flutter? Ни один из них. Я бы выбрал чистый C++ и Qt 5.9 без всяких поделок вроде QML.
Почему? А зачем писать приложение два раза для десктопа (windows, gnu/linux, macos) и смартфона (android), когда можно написать один раз, а потом просто скомпилировать переключая сборки.
По факту Android NDK и прочее качается менеджером внутри Android Studio, а потом просто делается настройка в Qt Creator, который идёт в составе Qt 5.9.
При компиляции у меня есть два устройства.
1) Boost 4.1 — реальное, появляется если включен режим отладки по USB на самом смартфоне.
2) Pnonev7a 4.1 — виртуальное, сделал его в Android Studio, там есть специальный менеджер для этого.
Тестирование кроссплатформенного приложения
Но лучше один раз увидеть, чем сто раз услышать. Вот небольшой тестовый проект созданный в Debian 9, прилагаются исходники, а так же скомпилированная версия для windows x86 и android v7a. Можно скомпилировать версию для GNU/Linux, в конце концов я в ней и нахожусь. Или у меня есть виртуальная машина хакинтоша макоса. Просто раз большинство виндузятники, а тема про андроид, я не буду возиться с другими платформами.
untitled.pro
#-------------------------------------------------
#
# Project created by QtCreator 2021-07-21T19:09:15
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = untitled
TEMPLATE = app
# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.hpp
FORMS += mainwindow.ui
Но откуда взялись Java, Kotlin, Flutter, а ещё давайте вспомним Swift от Apple, C# от Microsoft и самое главное зачем? Ведь можно было написать фреймворки на C++, и тогда огромное количество софта работало кроссплатформенно. Более того, я тут смотрел Android Studio, и типа Android NDK нужно якобы использовать лишь тогда, когда нужна производительность. Давайте тогда уж скажем прямо, все остальные языки с их фреймворками начинают сосать, когда дело касается производительности. Да даже сама Android Studio это то ещё тормознутое говнище. А как насчёт Visual Studio от майков, производительная ли она, летает ли? Судя по комментариям летают там только программисты на реактивной тяге собственного производства.
Собственно говоря ничего нового здесь нет. Microsoft когда-то конкурировала с Java, точнее пыталась залезть в чужую нишу и перетянуть одеяло на себя. Использовались всякие манипуляции, вроде у нас будет кроссплатформенность, ну или лучше сказать теоретически она может быть. Яблочники анально огородили свой магазинчик. На чём пишут в Google, так на C++, но вы независимые дурачки давайте пишите на Java, Kotlin, не создавайте нам конкуренции. Чтобы подсадить на свои инструменты, с которых потом как с подводной лодки никуда не денешься придумываются всякие отмазы. А вот у нас тут всё идеально совместимо, ля ля ля. Но нет, не совместимо. Яблочники сливают и софт и железо. Гугловцы тоже любят всё менять, пусть даже они ещё не поехали как яблочники. А потом после разбирательства с кучей языков и фреймворков вам всё равно сообщат: "Миша всё ня, давай по новой".
Некоторые разработчики даже говорят, что утверждение App Promo о 59% приложений, которые не отбивают затрат, даже немного приукрашенная картина. Бывший разработчик NetNewsWire Брен Симмонс подозревает, что эта цифра «близка к 85%», в то время как Люциус Квок предполагает, что она может быть в «диапазоне от 90% и выше».
Re[2]: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, velkin, Вы писали:
V>Мой Выбор C++ и Qt 5.9 V>Java, Kotlin, Flutter? Ни один из них. Я бы выбрал чистый C++ и Qt 5.9 без всяких поделок вроде QML.
Не самый лучший выбор. Проблемы начнут всплывать как только захотите выглядеть как нативные приложения или подключать что-то сторонее.
И код на swift и kotlin гораздо приятнее чем на C++ или java (хотя swift более еб&%#тый инопланетянский но однозначно лучше objective-c).
И собирать придётся для x86,x64,armv7,armv8 и mips (раз уж андройд 4)
V>Почему? А зачем писать приложение два раза для десктопа (windows, gnu/linux, macos) и смартфона (android), когда можно написать один раз, а потом просто скомпилировать переключая сборки.
Так не получится у всех платформ свои особенности. При чем чем дальше тем они более причудливые (всякие разрешения, темы, дырочки и челочки, вторые экраны). Более того эти собаки постоянно что-то обновляют чуть ли не раз в неделю и то что работало вчера сегодня может не работать.
V>Но откуда взялись Java, Kotlin, Flutter, а ещё давайте вспомним Swift от Apple, C# от Microsoft и самое главное зачем? Ведь можно было написать фреймворки на C++
Посмотрите некоторые топят за Rust. Потому что C++ очень не однозначный язык если разрабатывать не в одно лицо.
Всё просто — дорогонах на C++ делать такое.
Re: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, kov_serg, Вы писали:
V>>Java, Kotlin, Flutter? Ни один из них. Я бы выбрал чистый C++ и Qt 5.9 без всяких поделок вроде QML. _>Не самый лучший выбор. Проблемы начнут всплывать как только захотите выглядеть как нативные приложения или подключать что-то сторонее.
Насчёт вида я бы поспорил, как известно Qt имитирует его под разные стили, а не использует чужие встроенные контролы. Если уж кто и может с лёгкостью выглядеть как что угодно и подстраивать поведение под устройство, так это именно Qt. Некоторые очень известные приложения для Android на нём и написаны.
Таблицы стилей Qt поддерживают различные свойства, псевдосостояния и субэлементы управления, которые позволяют настраивать внешний вид виджетов.
..
Список свойств
В таблице ниже перечислены все свойства, поддерживаемые таблицами стилей Qt. Какие значения могут быть присвоены свойству, зависит от типа свойства. Если не указано иное, указанные ниже свойства применяются ко всем виджетам. Свойства, отмеченные звездочкой *, относятся к Qt и не имеют эквивалента в CSS2 или CSS3.
Это очень мощная и простая концепция. То есть я даже не говорю о том, чтобы самим что-то отрисовывать, а уже получаешь мощный функционал. И можно создать режимы вывода виджетов для десктопа и смартфона, как известно Qt в этом плане очень гибкий. По сути это обычная компоновка и кое-какие настройки относительно ввода.
_>И код на swift и kotlin гораздо приятнее чем на C++ или java (хотя swift более еб&%#тый инопланетянский но однозначно лучше objective-c). _>И собирать придётся для x86,x64,armv7,armv8 и mips (раз уж андройд 4)
В Android Studio для Android всё это есть, а всё это присоединяется к Qt Creator. Я естественно компилировал для своего смартфона потому у меня выбрана такая сборка. Хотя мне кажется тип архитектуры в моём смартфоне довольно распространён, но можно было скомпилировать и под другое.
_>Так не получится у всех платформ свои особенности. При чем чем дальше тем они более причудливые (всякие разрешения, темы, дырочки и челочки, вторые экраны). Более того эти собаки постоянно что-то обновляют чуть ли не раз в неделю и то что работало вчера сегодня может не работать.
Разработчики Android жалуются, что их инструментарий меняют. Например, сегодня такие разрешения для приложений, завтра другие и так далее. Там ещё такая фишка, когда я выбираю в Android Studio версию Android мне показывают в процентах с каким количеством смартфонов будет совместимо это приложение. Иными словами не всё так просто. Гугл предлагает отбрасывать пользователей с более старым железом или не пользоваться библиотеками с новыми возможностями.
И я уже нарывался на то, что приложения стают несовместимы с моим смартфоном на Android 4.1. А вот где действительно всё плохо, так это в iPhone 4. Именно так я его и получил на посмотреть, просто потому что на нём перестали работать приложения и он стал владельцу не нужен.
Итого, получать новые возможности библиотек в Kotlin, Swift и прочих можно лишь отбрасывая старые смартфоны. Я, кстати, ещё забыл упомянуть, что мне все эти новые возможности не сдались. Мне гораздо интереснее подключить к проекту ещё какую-нибудь библиотеку C++.
Ещё раз повторю, адаптация приложения на Qt под смартфон не составляет никаких проблем. Я хотя пишу только для себя для развлечения, но вот метод, берёшь и меняешь настройки главного окна, например, на 480x800, вот и пожалуйста, адаптируй сколько влезет.
Apple iPhone 4/4S 3 640×960
Apple iPhone 5 4 640×1136
Apple iPhone 6 4.7 1334×750
...
HTC Desire X 4 480×800
...
Samsung Galaxy S5 5.1 1080×1920
...
Ладно, давайте забудем о кроссплатформенности, производительности и прочем. Но ведь здесь ещё есть фактор программиста. Если я не пишу на Kotlin, Swift и прочих, а пишу на C++, то какова вероятность, что вдруг перейду на эти языки и более того, неизвестные мне фреймворки. Теоретически, конечно, можно было бы, но практически нет ни мотивации, ни желания.
Да и сами эти большие корпорации пишут на C/C++. Толкнув людей изучать языки и фреймворки, которые они полностью контролируют и без которых всё это не нужно, они тем самым устраняют будущих конкурентов. Не появится новых разработчиков коробочных продуктов и сервисов, которые могли бы их пошатнуть. Очень умно с их стороны, молодцы.
Re[2]: Если делать приложение для Android, то какой язык вы бы выбрали?
Здравствуйте, velkin, Вы писали:
V>Здравствуйте, Tai, Вы писали:
Tai>>Если делать приложение для Android, то какой язык вы бы выбрали: Java, Kotlin, Flutter? Tai>>И почему?
V>Java, Kotlin, Flutter? Ни один из них. Я бы выбрал чистый C++ и Qt 5.9 без всяких поделок вроде QML.
Спорно. На kotlin/dart/swift проще писать, чем на плюсах.
V>Почему? А зачем писать приложение два раза для десктопа (windows, gnu/linux, macos) и смартфона (android), когда можно написать один раз, а потом просто скомпилировать переключая сборки.
Как минимум UI вам придётся писать 2а раза, ну или где-то это будет неюзабельная фигня.
Особенности платформ придётся как-то обрабатывать придётся, что не так просто(к flutter это тоже относится).
V>Вот здесь немного по старому сделано, но сойдёт для понимания. V>https://www.youtube.com/watch?v=ltZ01zZF9o4
пока это 2 кнопки, пример на любом языке будет не сложным.
...
V>Но откуда взялись Java, Kotlin, Flutter, а ещё давайте вспомним Swift от Apple, C# от Microsoft и самое главное зачем? Ведь можно было написать фреймворки на C++, и тогда огромное количество софта работало кроссплатформенно.
да, но интерфейс по работе с устройством, UI, всё равно разные были бы — так что толку от C++ не так и много. V>Более того, я тут смотрел Android Studio, и типа Android NDK нужно якобы использовать лишь тогда, когда нужна производительность. Давайте тогда уж скажем прямо, все остальные языки с их фреймворками начинают сосать, когда дело касается производительности. Да даже сама Android Studio это то ещё тормознутое говнище. А как насчёт Visual Studio от майков, производительная ли она, летает ли? Судя по комментариям летают там только программисты на реактивной тяге собственного производства.
Во-первых, производительность не всегда важна
Во-вторых, не всегда вы эту разницу увидите.
В-третьих, при подключении в сборку ndk — скорость этой сборки падает, так что ешё не известно кого больше бомбит при сборке.
V>...На чём пишут в Google, так на C++, но вы независимые дурачки давайте пишите на Java, Kotlin, не создавайте нам конкуренции...
Для андроида они вполне писали на яве, а сейчас пишут на котлине. С/С++ — внутренности, там где важна производительность.