LINUX.ORG.RU
ФорумMobile

На чем писать андроид-лаунчер?

 , , , ,


1

3

Ученик предложил мне очень интересную идею лаунчера с активной работой с ОС, голосовым управлением и фидбеком и кучей всего, что можно добавить позже. Проблема в том, что классическое приложение на джаве ему осилить будет сложно. Есть базовые знания Python и JS, но очень сомневаюсь, что на них можно написать достаточно эффективное по памяти и энергопотреблению мобильное приложение. Очень желательно также выбрать кроссплатформенный фреймворк, чтобы проект можно было довольно безболезненно портировать на iOS. Что происходило в последний год в мобильной разработке не имею ни малейшего понятия. Склонялся к React Native, но держать на телефоне постоянно включенный браузер - оверкилл как по мне. Поэтому буду рад любым комментариям по поводу выбора фреймворка, библиотек, языка и собственно начала разработки. Благодарю за внимание.

На андроиде java (kotlin), других вариантов нету, можно ещё и C++ с NDK вкорячить, но там ещё сложнее будет.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

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

Man-o-Jar
() автор топика
Ответ на: комментарий от vvn_black

Благодарю! Про flutter я уже и забыл. Выглядит на скриншотах неплохо, хотя внешний вид для этого проекта не важен от слова вообще. Уже качаю, буду разбираться.

Man-o-Jar
() автор топика
Ответ на: комментарий от Man-o-Jar

Про flutter я уже и забыл

Может фуксия взлетит, тогда это ещё и задел на будущее.

vvn_black ★★★★★
()
Ответ на: комментарий от peregrine

Смотря какой школьник и какой лаунчер. Пока цель - сделать хоть что-то рабочее или хотя бы запускаемое. Времени до конца учебного года вполне достаточно, чтобы разобраться в технологии, если она не переусложнена (как большинство современных технологий, увы).

Man-o-Jar
() автор топика
Ответ на: комментарий от PRN

Котлин очень лаконичный язык, если школьник понял питон и js, то и с котлином справиться должен.

А если еще ногти подстрижет, так вообще не останется препятствий к реализации

лаунчера с активной работой с ОС, голосовым управлением и фидбеком и кучей всего

t184256 ★★★★★
()
Ответ на: комментарий от t184256

А если еще ногти подстрижет, так вообще не останется препятствий к реализации

Может он еще и мыться начать должен?

Пока цель - сделать хоть что-то рабочее или хотя бы запускаемое.

PRN
()
Ответ на: комментарий от Man-o-Jar

Думаю, школьнику освоить что-либо из вышеперечисленного будет непосильной задачей.

Я как человек, который будучи школьником, писал на мнемокодах БЗ-21 и немного на Аналитике, огорчён таким принижением потенциала любознательных школьников. Крестами его, возможно, травить и не надо, но уж джаву чего б не подучить. И в жизни может пригодится…

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ты на мнемокодах БЗ-21 и немного на Аналитике почему писал? Потому что у тебя референс-пойнта не было, и подлых абстракций под тобой было. Эти времена ушли.

t184256 ★★★★★
()

Короче, решил пока поизучать flutter, вроде бы Dart один из самых простых языков. Конечно, изучать новый не особо популярный язык ради одного проекта не слишком эффективно, но пока не вижу других вариантов. Kotlin, насколько я знаю, вообще маргинальщина, на нем пишут в основном в СНГ из-за того, что есть документация на русском ) Сам не смотрел, могу ошибаться.

Man-o-Jar
() автор топика
Ответ на: комментарий от ddidwyll

Today over 60 of Google's apps are built using Kotlin. This includes apps like Maps, Home, Play, and Drive. Это они серьезно? Если так, беру свои слова назад. Но это не отменяет того, что на нем можно писать только под андроид, когда у тех же React Native и flutter есть библиотеки под iOS (по поводу их беспроблемности под последний пока не уверен).

Man-o-Jar
() автор топика
Ответ на: комментарий от Man-o-Jar

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

котлин полноценный язык, на котором можно писать не только под андроид.

PRN
()

Java или NDK + SDL2 тоесть «С» если уж и делать то по нормальному. Сейчас насоветуют всяких фреймворков и прочего дерьма на js или всякие реактнативы, фуксии и прочее дерьмо.

anonymous
()
Ответ на: комментарий от Man-o-Jar

Ну началось, ребёнок в этом море абстракций потонет и ничего не поймёт по итогу. У вас цель то какая? Просто сделать ради сделать и похеру как оно там работает или сделать попутно выясняя чё да как и почему? Тоесть с академической жилкой? Если второе java или/и NDK + SDL2. Если первое то самый популярный фреймворк позиционирующий себя как быстрая разработка для бизнес решений, это как раз самое оно, спроектировано с прицелом на даунов всё делается из готовых блоков, но ни шагу в сторону.

anonymous
()
Ответ на: комментарий от Man-o-Jar

Может непосильной для уже взрослого человека. Ребёнок в плане гибкости ума и памяти на голову выше учителя. Чё вы всё детей по умолчанию долбоёбами считаете? Сюсюкаете и до тупизны простые задачи перед ними ставите? У них цель одна, что бы мозг кипел. Либо вы жарите их на грани их сил или получаете на выходе затупков. java не ракетная технология ребёнок осилит быстрее чем любой взрослый. Ему не интерпрайз пилить.

anonymous
()
Ответ на: комментарий от anonymous

По идее нужно что-то среднее: достаточно простое по структуре и использованию, чтобы можно было общаться с системой и не было оверхеда по производительности, но не такое, чтобы неподготовленный человек сломал голову и в последствии сторонился всего, что связано с написанием кода. Изначально мы вообще рассматривали MIT App Inventor ) Моя цель на данный момент - поработать со всем, что уже было здесь предложено и выбрать на основе чего мы будем делать проект. С джавой, где как раз-таки пишется много непонятного кода просто потому что надо, у меня, как я уже писал, исторически не сложились отношения, но в принципе готов потыкать ее еще, если не найдется более оптимальный вариант.

Man-o-Jar
() автор топика
Ответ на: комментарий от PRN

И даже под iOS? Насколько знаю, сколько-нибудь серьезные приложения там пишутся только на Objective-C и Swift, который по идее аналог Kotlin, но писать два отдельных приложения под разные ОС мы точно пока не сможем.

Man-o-Jar
() автор топика
Ответ на: комментарий от CrazyAlex25

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

Man-o-Jar
() автор топика

Проблема в том, что классическое приложение на джаве ему осилить будет сложно. Есть базовые знания Python и JS, но очень сомневаюсь, что на них можно написать достаточно эффективное по памяти и энергопотреблению мобильное приложение. Очень желательно также выбрать кроссплатформенный фреймворк, чтобы проект можно было довольно безболезненно портировать на iOS.

Ну всё ответил же. Бери react-native и вперёд. Если можешь помочь с ооп - C#.

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

Тапк учи ученика. Или тролль или не пойми что.

FortyTwo
()
Ответ на: комментарий от Man-o-Jar

Ну, хз. Как вариант не выбирать на пустую средства и язык. По итогу пока вы двое сами на 100% не занаете что хотите. И если по началау привет мир ваш будет написан и всё вроде ок, то в чуть более сложном случае уже не всё очевидно. Я бы пошёл на гитхаб и нашёл что-то что явно или косвенно делает тоже самое например что-то типа termux или kde-connect например или что-то вообще мелкое типа демку какую и взять за основу плюс развить до того как это видите вы. Просто вот так с нуля без ничего с мытным пониманием чего хоца (а хоца чёбы всюо опащки и сразу клёва) такое себе. Или просто посмотреть на чём другие делают (с открытым кодом) и выбрать из этого потом будет в 100 раз легче выяснять что-то.

Но всё же если хочется что-бы было не шибко сложно то берите самый самый бизнес фреймворк где всё из готовых кирпичей. Ибо либо вы с академическим интересом роетесь в кишках по шее в знаниях. Либо делаете из готовых кирпичей. Серединки нету.

anonymous
()
Ответ на: комментарий от anonymous

Не-не-не, я к питону отношения не имею :) А так, для прототипа, который пишет школьник, оптимизация, скорость и прочее не важно. Главное получить рабочую модель, увидеть хоть какой-то результат, а не тупое «выведите на экран (консоль) числа в обратном порядке». Реальная задача и результат вовлекут во всю мешанину смежных технологий и языков. Вот оттуда и появятся знания как сделать лучше\быстрее\удобней…

CrazyAlex25 ★★★
()
Ответ на: комментарий от Man-o-Jar

Так под iOS кроме Objective-C и Swift ни на чем больше и нельзя писать без гемороя. Разве что на плюсах или си фуллскриновые игрульки можно, но для запуска все-равно Objective-C/Swift используются.

PRN
()
Ответ на: комментарий от Man-o-Jar

писать два отдельных приложения под разные ОС мы точно пока не сможем.

Вам бы там с такими условиями одно написать ;)

PRN
()
Ответ на: комментарий от CrazyAlex25

Так хотя бы будет знакомый язык (python)

Питон, он разный бывает, в киви придётся въезжать, да ещё и разбираться с их оригинальной разметкой, которая отличается от flex и той, что в Flutter и кроме киви вряд ли где ещё пригодится.

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

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)

Писать на Java. Лаунчер это слишком системное приложение, всякие реакт нативы это не то, они для типовых приложений типа «страничка магазина». Kotlin это вариант, но он слишком сложный и Java знать в любом случае придётся. Пока Java не устарела, с неё начинать оптимально, язык самый простой из популярных ныне и его сможет выучить целеустремлённый талантливый школьник. А когда напишет, как раз следующая задача будет выучить Kotlin и переписать приложение на Kotlin. Причём по мере того, как он его будет учить и писать, он будет его учить больше, поэтому следующая задача будет - переписать приложение ещё раз на ещё более идиоматичный Kotlin ))

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Не нужна ни java, ни kotlin. NDK+sdl2, как выше советовали, Си всегда пригодится.

sqq
()
Ответ на: комментарий от anonymous

Спасибо за дельный совет. Скорее всего, придется выбрать готовые кирпичи. А потом, возможно, переписывать все, как это должно быть. По собственному опыту знаю, как блуждание в дебрях языка отбивает всякое желание продолжать работу, особенно когда знаний почти нет и разработка идет на голом энтузиазме.

Man-o-Jar
() автор топика

Всем спасибо. Все-таки буду идти по намеченному плану: тыкать все подряд и выбирать то, что больше всего подойдет и вызовет меньше всего отторжения. Лично мне всегда было проще писать все с нуля самому, а не изучать устройство фреймворков в довесок к самому языку. Но проблема в том, что не мне это все писать. Так что если найду какой-нибудь удобный и быстрый вариант - замечательно, если нет - придется все-таки писать с нуля.

Man-o-Jar
() автор топика
Ответ на: комментарий от Man-o-Jar

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

Под мобилки без фреймворков не получится. sdk по сути это и есть фреймворки что для ios, что для android. Всякие хamarin и прочее - это, как правило, оберки над sdk.

PRN
()
Ответ на: комментарий от Man-o-Jar

У Kotlin и Java (да и у C#) есть плюс в том, что они «правильные» языки, т.е. в них всё более-менее по уму без уродства сделано. А вот всякие python-ы принесли в жертву абстракциям реальность, C++ и Rust наоборот абстракциями пожертвовали.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от vvn_black

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

peregrine ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.