LINUX.ORG.RU

А на чём и как писать под мобилы?

 , , , ,


0

2

React native - даже не стал на это говно смотреть

flutter - попробовал вроде прикольно, собрал примеры, запустил на мобилке всё вроде ном....но....dart я хз я не хочу писать просто морду для сообщения с сервером я хочу юзать библиотеки на С, но я как понимаю с этим кирдык да? И ещё момент, если кто в курсе поясните за flutter подробнее, а именно касательно dart что с ним делать нельзя? Что по скорости работы и прочее.

java - я тут смотрю вообще андроиду гугл пилит замену... я хз. И да тут можно использовать NDK и как минимум писать библиотечные части на моём любимом С.

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

Как вообще во всей этой помойке разобраться, я понимаю писать морды с кнопочками для отправки на сервер чего либо не важно на чём или если это игра там всё средствами движков, а вот просто рандомное приложение, ну допустим обработка фото, это что весь код обработки пишут с нуля что-ли ? Как обстоит дело повторным использованием кода? Ну к примеру есть ffmpeg я хочу писать на flutter гуй и для обработки использовать библиотеку libavfilter, не прокатит да?

Немного добавлю чего я хочу конкретно, да там переносимость dart/java/react и прочие, но... единственный затык с действительно удобством (для меня) это гуй. Да можно (я почитал и на гитах дарта/флаттера поспрашивал) и из java и из dart дёргать код , но это настолько монструозно там реализовано что ужас, между тем фреймворки как то дёргают же гуй? Вот я и хочу узнать как. Я так понимаю можно в JINI из С кода дёргать java код и прочее, но это такооое себе. Как использовать gui в android без java? NDK этого не позволяет, но... не знаю пока что короче

Deleted

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

По хорошему надо не выджобываться и писать под тем, что позволяет использовать платформа. Васянские поделки типа реакта ни к чему хорошему не приведут.

Как пример, на Android можно иметь C + Java, а на iOS C + Obj-C.

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

Ну... тут такое дело я с прицелом на будующее где в связи с Fuchsia андроид может потерять позиции как и linux доля на мобилках. Это я к тому что java может на мобилках как бы рип

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

Шапку прочёл, тред не читал. Ты имел в виду вообще без android/ios/etc? Ну не знаю, я даже не представляю что можно написать на асме с учётом того что ... не знаю короче. Но! если просто хочешь взять и на асме написать что-то под мобилу то изи, касаемо андроид бери https://f-droid.org/packages/#q=termux и компиляй там что угодно, я сейчас сморю как там обойти хитрости и подключить репы дебиана, потому что там clang а я хочу gcc свежий, вернее репы подключаются, но termux окружение немного особенное, надо покумекать. Но в целом, если хочется на мобилу перенести что угодно на любом языке и без всяких чрутов и рутов телефона альтернатив termux нет. Так что если ты имел в виду просто писать на асме под мобилку то не мечтай, а просто бери и пиши, запускай и радуйся, среду сборки прямо в телефоне разверни, а рули всем с компа через ssh/sftp, внутри termux обычный apt стоит, apt install openssh clang binutils make cmake чётамтебеещёнадо и всё )).

Deleted
()

Лучше всего не писать. Напиши мобильный сайт SPA. Рекомендую React + Redux, это лучшее, что придумало человечество после изобретения огня.

Если нужно писать кровь из носу - React Native. Всё остальное даже близко не подходит.

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

Я же сказал React в топку, я хочу на С код переиспользовать, подключать библиотеки и всё такое прочее )) Пока что либо java SDK + jini NDK + C или flutter + Dart + dart_native + C

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

если просто хочешь взять

Я ничего не хочу. Я просто пустился в фантазии.

По факту, что мы имеем в виде смарта? В упрощённом понимании - программируемый девайс. Так? Значит, теоретически мы можем реверснуть железячку и с нуля написать на голом асме полностью годную ОС, которая бы управляла всеми ресурсами смарта и предоставляла сферическому юзверю интерфейс для доступа к функциям аппаратуры.

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

Это всё в теории, на практике всё усложняется.

Deleted
()

Аналитика уровня Бог. Это говно, про то ОБС, что скоро будет пора закапывать.

Под андроид пишут на Java и Kotlin, под iOS — на Obj-C и Swift, под Windows Phone — а, оно же сдохло.

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

Это всё в теории, на практике всё усложняется

В теории, если уж атом не оправдывает свое название («неделимый»), то было интересно разобрать его и сложить электроны отдельно, протоны отдельно, а нейтроны нафик выкинуть. Но на практике, да, всё немного сложнее.

Virtuos86 ★★★★★
()

А на чём и как писать под мобилы?

Си, только Си и асм. и не думай ни про какие Джава, ЖС и Дотнеты. Всё это создаёт хаос, отсутствие безопасности,анархию, говнокод и вирусню %)

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

Ага. Железо-то закрытое. По крайней мере вафля в моём смарте закрыта по самое не могу.

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

Это си-код то будет батарею сажать в связке с реактом? ЛОЛ.

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

зачем сажать батарею.

В смысле сажать? У меня сейчас в телефоне среда Termux + nginx + sshd и сборка make -j4 gtk+ жрёт меньше чем com.google.service ))))))))))

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

Ты штуки типа OpenCV/ffmpeg предлагаешь с нуля писать если их функционал потребуется? Java код часто это лишь морда и запускалка нативных библиотек. На жс можно написать только морду для сервиса, java то ладно ещё можно полноценное что-то сделать, но опять же чаще всего просто морда, контролы и прочее

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

без всяких чрутов и рутов телефона альтернатив termux нет

Debian noroot через proot разварачивает debian, да и linuxdeploy в proot умеет

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

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

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

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

Deleted
()

Но если ты захочешь писать для android, то лучше установить ubuntu 16.04, там нужные либы openssl и ncurses установлены. Тоесть если, у тебя rolling release диструбутив, то ncurses нужной версии тебе не установить, будут проблемы с компиляцией на последней gcc. Также вроде в rolling release есть нужная openssl либа, то есть там две либо на выбор, либо две можно установить разом. Если не хочешь проблем со сборкой в android studio, то устанавливай ubuntu 16.04.

Также есть tizen, там можно либо на си, либо на си++. Для эмулятора нужна libpng12, которая тоже в ubuntu 16.04 есть, а так придется из исходников устанавливать. Плюс другие зависимости, которые описаны для установки из под ubuntu.

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

Ух ты, прикольно )) Спасибо большое )))

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

=)))))) Ну наконец то кто-то подобное сказал ))) Улыбнуло, спасибо )

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

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

darkenshvein ★★★★★
()

я хочу юзать библиотеки на С

Ты готов скомпилировать свою программу под сто тыщь пятьсот процессоров?

demrnd
()

Ответ очевиден - Java. Как под Windows - C#, так и Vala под Gnome. Нужно использовать тот язык, который рекомендует платформа.

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

использование левых плагинов

Ну это да, хотя часто jini заставляет лезть в потроха подключаемого.

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

Тьфу блин, не туда тыкнул... странно

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

Ответ очевиден - Java.

Прихожу к тому же, но! как заглушка вызова fake_main() через jini внутри которого основное приложение на С. Но я ещё только вникаю, первый день изучаю всё это и второй если считать компиляние в termux ))

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

сто тыщь пятьсот процессоров?

bionic же. Да и нет проблемы наставить 100500 кросскомпиляторов и скриптом перебрать их на релизе.

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

скриптом перебрать их на релизе

этим занимается ndk и подобные

Deleted
()

Код приложения пиши на Kotlin, для гуя юзай Anvil/Anko, либо XML+Butterknife/kotlin-android-extensions.
И, пожалуйста, не нужно тащить всякий C(++),JS,Qt/GTK,JNI и проч. на платформу

I60R ★★
()

Надо переставать быть полоумным фанатиком максималистом и писать на нативных для платформы технологиях.

Для ведроида: Java (может быть котлин) и NDK (С/С++).
Для iOS: Objective C, Swift.

Гораздо важнее обеспечить низкое энергопотребление и правильное использование возможностей системы.

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

Колибри - это никакой не реверс готовой ос, а просто форк менуетОС.
И если бы реверс был реален, то не было бы столько проблем с созданием кастомов из-за отсутствия драйверов для новых версий андроида.

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

Потому коммерсы и посылают в пеший эротический поход таких деятелей вкладываясь в жабу и ллвм

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

Конечно не боюсь. Я ее видел лет 5 назад в последний раз.

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