Как быть, если ты сталкиваешься с непониманием своего направления разработки?
Source - by RandomDice 779
Да, именно так. Видите ли, я - уже немного продвинутый человек, более 1.5лет "в теме" Linux/Android и программирования в частности. Изучают сугубо сам - никаких курсов или помощи от родственников/друзей, только суровая любознательность, суровое любопытство и интерес. Я на данный момент увлекаюсь изучением и разработкой под Linux ARM. Если совсем буквально - системную часть Android. И в этом вся загвоздка.
Приведу в пример своих родственников - людей, весьма хорошо знакомых с ПК и телефонами (один даже может хорошо настроить BIOS или поставить кастомную прошивку Android) - но они далеко не программисты. Скорее, как говорят, "ламеры" (по типу всем известного overbafer). Да, уровень определенный есть, но до true-программиста/пентестера/просто фанатичного Linux-овика им ещё идти. И вот они откровенно не понимают моего направления разработки - системная часть (именно системная часть, а не Java-приложения) Android. А Android на уровне системы - это урезанный Linux, да ещё слинкованный к bionic, а не glibc [для компиляции можно заюзать musl]. А я программирую как раз под системную часть Android - ну нету интереса к Java. И я слышал что-то в в духе:
для программирования есть компьютер, зачем ты на телефон все это городишь [это про Kali Nethunter, кастомные прошивки и root].
телефон для звонков, че ты там делаешь с ним?
смог модифицировать? молодец, верни обратно! Да, ты доказал себе, что ты можешь это все сделать, но зачем тебе все это? [и указания на провальность чистых Linux-ов типа Ubuntu Touch и Maemo]
И ладно бы люди, которые во всем этом не так много понимают, их реакцию можно понять. Но даже от опытных людей я слышал такое:
Ну на худой конец, возьми ноутбук или ARM-плату и пиши там. Зачем с Android так извращаться?
Чёрт возьми! Я пишу код под системную часть Android. Кто-то скажет: а почему не штатный Linux ARM/MIPS/RISC-V?
На это я отвечу: меня влечёт "недоделанность" и "закрытость" (не в плане кода, само понятие раскрою ниже) Android. Да, на лично мой взгляд, Android не идеал, а лишь близок к идеалу. А к идеалу его приближают Java машина (памятебезопасная работа приложений), концепция изоляцией приложений, и SELinux. Да, многие решения Android хороши с точки зрения безопасности. Но "зацикленность" на Java, в сочетании с реальной проблемой запуска привычных Linux-оидам Linux-утилит (есть как минимум Termux, чьи бинарники слинкованы к Android библиотекам, но даже о таком знают лишь "просвещенные"), и в целом некоторой ограниченностью ОС меня скорее бесят. Особенно бесят радикальные решения в духе Huawei, которые вообще не дают разблокировать загрузчик. Я в первую очередь в Android вижу Linux; но Linux, откровенно говоря, недоделанный, даже если следовать концепции самой ОС Android. Ну а я вижу себя тем, кто расширит возможности Android, пусть даже на поприще "этих ваших цианогенов и кали нетхантеров"
Тот, кто между безопасностью и свободой выбрал безопасность, не получает ни свободы, ни безопасности
Ну и я пошёл жёстко в разработку Linux ARM. Magisk-модули, пересборка system.new.dat в прошивках, портирование Linux-утилит в Android и т п. Если бы не нелюбовь к корпорациям, пошёл бы работать в Google, когда получу образование - совершенствовать Android.
Сейчас, конечно, мои замыслы куда выше, чем ребячество с Magisk, мой уровень знаний повыше. Есть мысль о портировании на свой девайс UEFI и даже мысль о разработке своей альтернативы Magisk!
А вопрос остаётся: почему у людей настолько предвзятое отношение к системной разработке Android? Даже не приложениям, системе.
И да, для тех, кто спросит, что я хотел бы сделать в Android, мой ответ такой. Помимо вышеупомянутых, хотелось бы "снять монополию" Java. Конечно, есть обертки в виде C++ SDL, python kivy, но один чёрт все пляшет вокруг Java. Не нравится мне такой монополизм. Хотелось бы добавить аналог wine, для запуска Windows приложений, да ещё сразу в графическом режиме - это бы и обычные пользователи оценили. В конце концов, современный смартфон - это потенциальный ПК. Засунь туда root+правильное ядро Linux+UEFI - и у тебя, считай, полноценный компьютер, только на ARM.
Да и мне лично впринципе интересна сама ОС, система. Обычные приложения/программы (а не всякое системное и около-системное ПО) я разрабатываю, но скорее по личной необходимости (да, именно личной необходимости. Именно так я себе делал основную долю приложений, в т ч под Windows), чем "по зову сердца". Возможно даже, мне место не в Android, а где-то в микроконтроллерах, IoT девайсах - куда я, в силу некоторой нехватки знаний, [пока] не хочу соваться.
А конкретно телефон удобен тем, что он маленький - это даже не ноутбук - и он банально всегда под рукой. Понятно, что для особо серьёзных проектов хорош ПК, ARM процессоры не для по-настоящему серьёзных дел, но все же. ARM-компьютеры - хороший вариант, но хочется иметь дело не с заведомо предназначенным для относительно серьёзных дел устройством, а с неким "user-end", который и есть у 99% пользователей. На худой конец - можно заказать developer-скую плату у Qualcomm/MediaTek, подрубить к ней UART, и отлаживать на ней кастомное ядро или даже загрузчик.
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.