Как быстрее всего написать Андроид ПО?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Добрый день ! Необходимо написать приложение для андроид, проблема в том что я не андроид разработчик, сейчас работаю с Python, имею скудные знания С++ из универа (использовала немного boost и STL).

Приложение относительно простое, без сервера, ничего парсить не нужно, оно локальное типа учебника ...

Есть время на обучение, но хочу самый простой вариант, по этому выбор пал на React Native, из-за JavaScript так как с ним знакома и считаю его гораздо проще нежели Java\Kotlin или C# и в будущем перекомпилить под iOS, но львиную долю времени ушло на то что бы хоть как-то развернуть рабочее окружение. Куча «багов», «варнинг» на библиотеки, запустить на эмуляторе не удалось, только реальное устройство и то оно нормально не работает и я не понимаю либо я что то не так делаю либо RN глючит как кусок г...на.

— По этому вопрос: может проще выучить Котлин и писать нативно (забивая на iOS так как не особо то и нужно), или всё же идти дальше так как RN всё же хорошая вещь и это я где-то накосячила ...

Всем спасибо, для меня этот вопрос реально очень важен !

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
может проще выучить Котлин

Походу уже начали появлятся люди, которые будут знать только Котлин, но вообще не рубать в Джаву :O

Так а что там ее знать, тот же C# только из 2007-го.

А есть книги хорошие или видео по

Flutter

Всем большое спасибо за помощь ребята, вы реально помогли, открыли мне flutter и Qt_for_Android, о чем я не знала и сейчас всё попробую и выберу для себя то что мне более подходит ...

Юлия,
потом расскажете что в итоге вышло?
Cлучай достаточно типичный, и многим будет интересно.
Достойно отдельного топика, наверно.
Заранее спасибо))

Да, обязательно ! Сейчас могу сказать что делать UI лучше на Flutter нежели на Qt, очень годно получается, потом как разберусь я напишу что из этого вышло ...

ставлю пиво, что получился ooops, i did it again

если сами хотите писать, то лучше Котлина ничего нет, если игры то язык Це...

Необходимо написать приложение для андроид

у меня была похожая ситуация,
и тут речь не об андроиде, а о неадекватном заказчике,
который хочет объять необъятное за три доллара.

Подумайте о смене проекта, пока он вас не съел

Вменяемый заказчик нанимает соответствующие ресурсы,
а не склоняет плюсовиков к андроиду,
сеньёров к менеджменту, а бэкекнд джавистов к джаваскриптоложеству.

RN глючит как кусок г...на

Потому что это и есть кусок г...на. Из самого просто — флатер. Котлин native тоже хороший вариант, но на данный момент ещё сырой да и котлин всё равно придётся учить. Но сколько я ни разговаривал с iOS и андроид разработчиками — все говорят что все кроссплатформенные библиотеки не дадут достаточно возможностей.

xamarin даст такие же возможности, что и нейтив разработка

И раза в два больше боли в плане tooling’а

Но сколько я ни разговаривал с iOS и андроид разработчиками — все говорят что все кроссплатформенные библиотеки не дадут достаточно возможностей.

При этом, зачастую, под «достаточно возможностей» понимаются какие-то действительно продвинутые вещи, которые необходимы либо для плотной работы с «железом» (что нужно далеко не всегда), либо в мобильных приложениях top-уровня с аудиторией в миллионы пользователей, но без которых вполне можно обойтись в приложениях уровня «заказ билетов в местном кинотеатре».

История повторяется ровно в том же ключе, что и когда-то с десктопом на Windows. Поначалу дестопные приложения писали только на C/C++, но с появлением Delphi и Visual Basic, а потом и .NET ниша C/C++ в десктопной разработке заметно сузилась, так как внезапно оказалось, что на более высокоуровневых инструментах приложения малой и средней сложности (а особенно — что касается бизнес-сегмента) пилятся намного быстрее и дешевле.

Ну и, затем, что к RN, что к Flutter можно писать плагины на Kotlin / Swift, расширяющие доступ к возможностям мобильной платформы.

Не нужно «учить» джаву или котлин, чтобы писать «простое» под андроид.
Достаточно знать семантику и хотябы один контейнер-список.
На гите есть 2 репозитория от гугла с полноценными приложениями Sunflower и Todo-app.
Пулите репозитории, собираете приложения на на девайс и смотрите что там есть.
Находите что нужно вам в аппе (список, подгрузка картинок, навигация, архитектура, если приложение больше 2х страниц), ищите это в коде и смотрите, как оно пишется.

Я бы посмотрел как кто-то у кого 0 знаний котлин или джавы,и он осваивает и пишет все от эталонного туториала от гугла,который тяжело разобрать даже некоторым ентри левелам джунам на андроиде. 4 Адаптера,8+ viewmodels,ui,datasource еще и джетпак в придачу и т.д.
Мне кажеться это нереальным для кого-то,кто понимает буквально 0 в разработке под андроид.

У меня есть ссылка на линкед, посмотри.
Ты же вкурсе, я надеюсь, что там по одной VM на экран. Datasource — просто элементарный паттерн. UI в андроиде — тяжело да. Да ещё и джетпак (и есть андроид сдк, по сути).

А по факту там в приложении по 2 кнопки на экран. Добавить что-то, перейти куда-то. Разжёвано уже так, что дальше некуда.

разжевано? Для полного 0 это просто космос.
Вспомни себя в 1 месяц андроид девелопмента и спроси себя ли понимал бы ты это

Да, понимал.
Я понял твою позицию.
Флаттер проще?

Встряну в разговор :)

Флаттер проще?

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

С другой стороны, Флаттер, как и React Native — это совершенно другой подход в работе с состоянием пользовательского интерфейса. Привыкшим к «классическим» паттернам MVC / MVP поначалу будет ломать мозг.

декларативное программирование. типа qml

Не только. Декларативно задаётся layout (и то, декларативность во Flutter весьма условная, т.к. layout описывается кодом на Dart, а не с помощью какого-то специального языка разметки). А для управления состоянием применяется функционально-реактивный подход, который, в общем-то, ортогонален декларативности.

в qml тоже нет языка разметки

ортогонален декларативности

это как? наполовину? на четверть?

в qml тоже нет языка разметки

Эмм.. а как тогда называется вот этот язык?

WindowButton
  {
    // Кнопка возова диалога "О программе"
    id: about;

    // Путь к файлу с изображением
    // в данном случае иконка лежит в той же папке,
    // что и QML файл
    source: "about.png";

    // Метод, который будет вызываться
    // при нажатии на кнопку левой клавишей мыши
    // onClicked: callback()
    function callback()
    {
    }
  }
это как? наполовину? на четверть?

Это значит — никак не зависит от неё. Можно реализовать какой-нибудь MVVM с observables, но при этом весь UI создавать императивно в коде.

Эмм.. а как тогда называется вот этот язык?

dou.ua/...​rums/topic/26295/#1509266

То есть, языком разметки вы его не считаете потому, что QML не выглядит как HTML/XML, а основан на JavaScript?

нет, потому, что QML не занимается разметкой

Тоже за Флаттер. В телеге есть канал, дружественный для новичков, если будут вопросы, даже самые простые, можете смело спрашивать t.me/rudart t.me/flutter_rus

Несмотря на большой кол-во ишью на гитхабе, я не заметил особо проблем не при разработке. У меня тоже довольно простое приложение. Документация довольно понятная, для людей как говориться.

2019 год на дворе. Флаттер офкос.

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

А флатер це не срібна куля а лише portable ui toolkit для того щоб зробити просту апку для андроїда і іос з однією codebase.

А на фрілансі знайти якогось шлепера за 300 грн? Якщо простий застосунок.

Не перший раз чую про ру фріланс. Правда що там за тарілку щі виконають будь-які забаганки?

20 дол в час — это вы не то что перегнули палку, а вы ее сломали, искрошили и сожгли :)

Да и для апворка это большой перебор. Вы давно делали средней сложности проект на этой платформе?

Для мобільної розробки це нижче середнього як для upwork.

Опять же — не ради спора: как давно вам лично удавалось взять проект с рейтом 30-40 долл в час?

Сейчас работаю, взял меньше месяца назад на полный рабочий день.

спасибо за ответ. значит есть куда расти )

Но скажем, так технические навыки играют роль где-то на 30%, в основном умение выискивать проекты, а это: профиль, умение вести беседу с заказчиками, умение фильтровать мусор, завершенные проекты, отработанные часы, отзывы, мониторинг проектов.

50 дол в США и Европе. Что перегнули?) Вы думаете как аутсорс работает?)

Я пять лет работаю на Апворке, у меня другой опыт. Если вам удавалось на Апворке продать себя за 50 долларов в час — рад за вас, считаю у вас надо поучиться )) много таких проектов сделали там?

Я говорил про аппворк? ))) Находите хорошего sales manager у которого есть связи в штатах, договариваетесь с ним о процентах, и вперед)))

Ну возденьте очи свои и узрите, что разговор у нас с паном Вовчком про Апворк)) а к чему тут вы со своим сейлсом?))) ни к селу, ни в красную армию, лишь бы что-то написать

к тому что на аппворке нанимают в основном такие менеджеры которые рубят таску за заказ 50 долл в час, а вам дают потолок 20

но это не за проект таймер))) или еще что нибудь в таком духе)))

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

так аутсорсы и рождаются ) нужно просто найти человека с хорошей базой клиентов)

Вы случайно в президенты не собираетесь баллотироваться?

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

Спасибо !
Никогда не слышала про эту штуку, как я понимаю под Андроид на чем только не пишут и чего только нет ...

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

На чем ты не писали, все конвертируется в джаву.

нет

flutter.io
не пользовался и осуждаю, но говорят что то в этом есть

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

Что надо? Ближе к твоему стеку? Ссылка выше прямо в цель.
Хорошая среда, отладка, обилие либ, документации, сообщество — Java/kotlin тебе в руки.

Волков боятся в лес не ходить, попробуй)

Написал прогу для просмотра наличия ЖД билетов (хакнул сайт) за 2 недели. Использовал Яву и Андроид СДК. До этого на Яве ничего не писал, сидел на плюсах

Но у меня нет 30-ти летнего опыта в разработке ПО ...

Использовал Яву и Андроид СДК. До этого на Яве ничего не писал, сидел на плюсах

Яву! Яву! Взял я на халяву!

имею скудные знания С++

Qt

Даже не предполагала что на Qt можно под Андроид, спасибо за совет !

и еще как. будут вопросы — помогу чем смогу

Огромное спасибо, сейчас читаю именно про Qt

лучше не надо)) выйдет приложение на 100Мб, в котором не заюзать ничего из платформы, юай будет 100% кривой. На джаве все гуглится и копипаститься в течении пары дней, если приложение не сложное. Ну а если чуть сложнее, то по мере копипаста все равно уже начинаешь что-то понимать. Нужно работать с сетью — в гугл android networking, нужно список отобразить — android list. И т.д.

выйдет приложение на 100Мб

нет

в котором не заюзать ничего из платформы

нет

юай будет 100% кривой

нет

я никуда и не шел

Я собирал приложение на qt под андроид, так что таки да. На пк он хорош, не спорю. И если нет, то покажи проект на нем, поржу.

Я собирал приложение на qt под андроид, так что таки да.

ты собирал одно, а я десятки

поржу

я похож на клоуна?

Чисто как андроид разраб с радостью гляну на реально успешные с точки зрения UX и производительности кейсы. Можно в личку в любую сеть из профиля :)

А чего сразу в личку? Я тоже Андроид, я тоже хочу

2Gis (ДубльГис) вроде на Qt сделан. Не уверен правда что полностью.

Використовуйте пошукові системи. Реально.

Суб’єктивно (на основі фото) — досить схожі. І я не бачу в чому нічого поганого.
Щодо Ваших коментарів вище — згоден, Ви праві щодо того, що на Qt під Андроїд буде досить пристойно (якщо «знати матчасть»).

Підписатись на коментарі