Михаил
Domka
я тут проснулся, хочу научиться библиотеками пользоваться стороними
Domka
научится подключать и использовать
Domka
а то достало только свое делать
Hello, World! 🎄
Hello, World! 🎄
Reza
Touche
Domka
Хорошо
Uni_X
Смотрите... Всё же знают, что F = ma? То есть F² = мама..?
Михаил
Uni_X
Кстати, а можете, пожалуйста, объяснить - почему для андроид была выбрана именно JVM? Ведь если бы на телефонах было можно запускать бинарники, приложения были бы более производительными, а на телефонах это важно... Просто мне это кажется немного странным...
Re
Vlad
Vlad
Ну и всё остальное тоже, да
Vlad
Правда там не традиционная JVM, а специально под Android созданный Dalvik (позднее ART)
Vlad
Но если приложение под дроид пишется на Java, то запустить его можно хоть на x86, хоть на ARM, хоть на RISC-V
Snusmumriken
Кстати, а можете, пожалуйста, объяснить - почему для андроид была выбрана именно JVM? Ведь если бы на телефонах было можно запускать бинарники, приложения были бы более производительными, а на телефонах это важно... Просто мне это кажется немного странным...
Ну во-первых, смотри.
Ты помнишь эпоху мобилок ДО андроида?
Была пачка операционок с нативными приложениями, например Symbian или BlackBerry OS.
Что нужно было сделать, чтобы выпустить новый смарт?
- Написать пачку драйверов
- Портировать ~четверть ОС на свежий девайс
- Написать пачку приложений специально для этого смарта, адаптировать под разрешения экрана, конкретные физические особенности типа миллиарда доп кнопок или наличие физической клавиатуры или наличие сенсорного экрана или ещё что
Ну типа вот, прошло пол года, мы адаптировали ОС под новый смарт ураааа.
Как происходила отладка всего этого барахла?
Вот у нас смарт подключённый через отладочные пины, мы запускаем на нём приложение, и если там ошибка — отладчик возвращает код ошибки. Стактрейсы? Не-а. Дам памяти? Ну разве что.
Snusmumriken
Кстати, а можете, пожалуйста, объяснить - почему для андроид была выбрана именно JVM? Ведь если бы на телефонах было можно запускать бинарники, приложения были бы более производительными, а на телефонах это важно... Просто мне это кажется немного странным...
Что же дало ведро человечеству?
1. Полная портабельность приложений (если есть поддержка апи ведра), и изначальная заточка на разные размеры экранов, разный DPI и всё остальное. Минус эксклюзивная подгонка под конкретный, плюс ширпотрёбная штамповка. Зато быстро и "везде".
2. Интроиспекция при отладке.
3. Ну вообще если очень хочется то можно впихнуть NDK и заюзать "нативку". Трахаться с ней на миллиардах платформ, конечно же, будет разработчик.
Ну, и разработка "нового смарта" скуксилась до пачки драйверов под ведро.
Михаил
а ведро скуксилось до проприетарного куска г...
Михаил
AOSP, так-то да...
Uni_X
Понял, спасибо большое. Теперь буду шире смотреть на вещи)
Vlad
Snusmumriken
А так — как всегда, дело в том, что производительность не является чем-то рентабельным для бизнеса. Бизнесу не важно делать качественно, ему надо чтобы БЫСТРО и с красивыми картинками.
На жаве МОЖНО написать оптимизированно и качественно.
Но почему-то, сейчас сраное банковское приложение хочет 4гб оперативки и 6 ядер цпу. Чтобы крутить всратые предельно неоптимизированные анимации и выполнять каскады реквестов. И на более слабом железе оно тупо не может выполняться, беги быстрей покупать новый телефончик.
Vlad
Snusmumriken
Где как.
Vlad
Да инфа сотка, что в любом приложении, которое вроде нихрена не делает, но весит мегабайт 200-300 сидит "нативный" Реакт
Uni_X
Vlad
Snusmumriken
Вот именно. Вопрос сколько говнеца.
Uni_X
И ещё вопрос можно..? Почему на новые версии андроида нельзя поставить старые приложения через тот же Гугл плей? Ведь джава - это полная поддержка всех предыдущих версий...
Snusmumriken
Почему нельзя? Что ты не можешь поставить?
Vlad
API дроида меняется
Vlad
Если приложение зависит от новых API, его хрен поставишь на старый девайс.
Если оно зависит от уже устаревших методов — вряд-ли оно заведётся на новом. Иногда можно, но проблемно.
Uni_X
Snusmumriken
Апи действительно меняется, но в значительной части случаев пофигу.
Например, старые тасккиллеры не всегда работают, потому что дёргают старую апишку которая новому ведру не нравится.
Vlad
Uni_X
Понял, спасибо большое)
Vlad
Тут еще гугл может иногда искусственно говнеца подлить, закрывая доступ к приложению, которое будет идеально работать
Snusmumriken
Понял, спасибо большое)
В общем, суть как всегда в балансе.
Можно было бы сделать "нативное чтобы быстрее". Но это не поможет — придумают такое нативное, которое будет самым быстрым и топорным в разработке, и вся "производительность" захлебнётся в тугих струях говнокода.
Жава — вполне сбалансированный вариант для текущих смартов, особенно когда есть возможность впихнуть нативку с NDK. Но и она захлёбывается в тех же самых тугих струях говнокода "а чо у меня на флагмане за 120 тыщ рубасов притормаживает но работает же ну".
Vlad
Не забываем про радиус кривизны рук конторных разрабов
Snusmumriken
Про них в общем-то и речь.
Snusmumriken
А уж если учесть что конторы экономят на программистах и часто запрягают дизайнеров в конструкторах конструкторить.. Которые плохо понимают что они делают, но зато дают красивые картинки чтобы показывать их вместе с графиками прироста вовлечённости.
Re
согласен про современные тренды.
учитывая как мало кушает сам андройд..там хоть что делай. Но увы...все хотят хоба хоба и работает.
Быстро дешево красиво.
Snusmumriken
Сам андроид весьма много жрёт.
Но этого всё равно достаточно чтобы сделать сраное не тормозящее банковское приложение для бабушкосмартфона.
Uni_X
Snusmumriken
Я тут на днях приобрёл дешманский планшетик ^ вот етот.
Re
ну уж совсем из крайности в крайность не надо.
Snusmumriken
Я тут на днях приобрёл дешманский планшетик ^ вот етот.
И попробовал посмотреть с него ютуб.
И через официальное приложение, получаются 10 фпс в 720р.
Притом с забавными гличами — видосик как бы в 10 фпс, но постоянно замедляется, но каждые секунд десять пытается отмотаться до "текущего" момента.
Snusmumriken
Но есть аналоги, например tubular.
И вот через него, юпуп спокойно крутится в fullhd 60 fps безо всяких намёков на нагрев или ещё что.
Кто виноват?
Vlad
У меня на столе Galaxy A10 из 2018, на почти-чистом Lineage OS он прям летает, если не включать официальные приложения ВК или Ютуба
Vlad
Хотя не, с Ютубом ещё справляется
Uni_X
Snusmumriken
А потом мне на хабре предъявляют что я "ругаюсь на самую лучшую в мире контору гугель, там ведь работают самые лучшие разработчики в мире", и наверное эти же гении навертели эти говёные официальные приложения ))
А гарвардские профессоры там толчки разгребают наверное.
Vlad
Стоит отметить, всё-таки в разных отделах над разными продуктами работают разные люди.
Потому что Golang мне лично очень нравится
Vlad
Хотя и он не без косяков
Snusmumriken
Ну типа того. Это всё равно что ткнуть пальцем в токио и сказать "да тут все гении-математики и все смотрят ониме, нет ни одного продукта произведённого японией который не разрабатывался бы от начала и до конца 400iq-челами"
Uni_X
Vlad
Ты на Nim не писал ещё (:
Snusmumriken
А ведь есть ещё настоящая функциональщина
Vlad
Ой да
Vlad
Вообще, хочу из "хайповых" функциональщин попробовать Gleam
Snusmumriken
Но вообще, я пока вижу всратое правило — как только что-то становится достаточно популярным достоянием общественности, оно достаточно быстро калофицируется.
Если луашка вдруг станет гиперпопулярной — количество написанного на ней кала вырастет примерно в миллиард раз, и что-то нормальное придётся искать в десять раз дольше. Здрасьте, фреймворки на базе фреймворков на базе фреймворков и кал на основе всего вот этого вот.
С другой стороны, пока есть отстойники вроде питона-жаваскрипта, это скорее всего не грозит.
Vlad
Enshittification, да
Vlad
Юнити считался норм движком, пока школьники не набежали делать в нём инди-хорроры
Snusmumriken
Вспоминаем магазин говноассетов всего за $9.
Vlad
На Годо сейчас набегают активно
Snusmumriken
Но конкретно школьники это имхо слегка узкая фигня.
А когда подобное начинает выходить в виде массовых продуктов вроде монополистичных браузеров.
Vlad
Look at this shit...
В сентябре было примерно 1200-1500
Сергей
Vlad
Он только недавно вернулся
Сергей
да ну месяц назад
Vlad
А это число линейно начало набираться после событий в сентябре
Re
ну на го кстате +- ок.
хотя дженерики конечно вышли всратыми.
но в целом, сообщество нормальное.
а вот в расте..я вижу обратную картину.
Сергей
а что в сентябре было? платная юнити?
Vlad
Snusmumriken
Опа, ты кстати не сидишь в чате солярки.
Кароч. Есть один парень. Он написал на солярке конструктор приложений на солярке. Прям на телефоне тыкаешь пальцем аналоги блюпринтов в виде мини-движка. Ничего супер сложного, но он выложил это счастье в плейстор.
И тут набежали миллиарды школьников. Мимоходом услышавших что этот конструктор написан на солярке, и начали адово засирать чат вопросами именно по этому как бы движку и как бы говной. А ещё срочными требованиями выдать ключи, потому что парень-разработчик вшил шифровалку ресурсов а ключи дадут взламывать приложения на этой фигне написанные другими школьниками.
Re
Мои влажные мечты, отменяют gdscript и ставят туда Lua или Wasm :D
А пока, мне почему то так не нравится. я готов терпеть многое, но писать на гдскрипте вообще не хочется.