|
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
|
|
Подойдёт ли Java для меня?11.03.2020, 19:06. Показов 1796. Ответов 23
Метки нет (Все метки)
Привет!
Изучаю Питон около года. Написал на нём несколько простых программ. Столкнулся с тем, что распространить программу на Питоне довольно сложно (нужно установить на машине интерпретатор и необходимые библиотеки), а если захочу перенести программу на смартфон, то сложности ещё увеличиваются. Мне посоветовали обратить внимание на Java. Подскажите, смогу ли я используя Java писать программы и не задумываться о сложности распространения? Нужно ли на ПК устанавливать дополнительные файлы для запуска программы на Java? Сложно ли программу, написанную для ПК перенести на смартфон (андроид)? Спасибо
0
|
|
| 11.03.2020, 19:06 | |
|
Ответы с готовыми решениями:
23
Надо сделать отступ между полями (они у меня липнут друг на друга) какой тег здесь лучше подойдет? У меня Ноутбук на Win 8.1 и меня раздражают f1,2,3 и т.д, можно ли их включить для игрового режима
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
|
|
| 11.03.2020, 19:23 | |
|
0
|
|
|
Модератор
|
|
| 11.03.2020, 19:35 | |
|
Краткий ответ выше, тут с подробностями
Устанавливать надо, программа называется jre, размер около 150мб. Можно конечно в поограмму вшить портативную версию но тогда надо будет писать еще враппер для запуска и так под каждую битность и ось. Переносить на телефон, вот тут уже хуже) Программу надо будет переписывать почти с нуля, так как язык хоть и один но платформы то разные и для каждой свою версию кода)) Как минимум гуи везде свои, а так же разные jvm, это я про пк и андроид. Грубо говоря обмен шила на мыло)
1
|
|
|
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
|
||
| 11.03.2020, 20:13 [ТС] | ||
|
Ну ладно про перенос с оси на ось я понял.
Мне сказали, что под андроид пишут чаще всего на Java. Цитата:" На Android надо писать либо на Java, либо на Kotlin." Это действительно так? Или преувеличение? Ещё цитата:"Если вы хотите писать приложения в основном для андроида, видите для себя перспективы в этом направлении, то разумеется вы зря занимаетесь питоном, вам надо изучать Java. Comprender?" Хотелось бы услышать ваше мнение.
0
|
||
|
Модератор
|
|
| 11.03.2020, 20:37 | |
Сообщение было отмечено pumaex как решение
Решение
Для андроида пишут на 3 языках, это java, kotlin и c++. На плюсах это вроде в нативном коде и о нем почему то часто забывают. А так да, чаще все же на java. Если хотите писать под андроид то лучше учите для него, от пк версии подойдут основы.
Теперь про враппер, есть конечно готовая тулза которая собирает все в один ехе файл но вроде он с 8+ java не очень корректно работает. Я привык делать все руками, качать на оф сайте jre в виде .tar.gz и распаковывать в папку runtime внутри папки с программой. Библиотеки с самой программой помещать в папку libs и писать самому враппер для запуска на мультиплатформенном языке, я использую purebasic, хотя можно c++ или нечто подобное, главное чтобы программа собиралась в нативы ос. Программа состоит по сути из нескольких строк, назначить рабочий каталог там где лежит ехе (если винда), создать список библиотек и выполнить комманду %work-dir%/runtime/jre-x64/bin/java.exe -cp %all-libraries% %main-class% %program-args% Итого будет 150мб jre (распакованная) + ехе около 20-30кб (где 10-20кб иконка) + размер вашей программы и используемых библиотек. Основной вес занимает jre. Хотя сам язык конечно рассчитан на распространение в виде просто jar файлов, подразумевая что jre установлено. На java 9+ можно собрать покомпактнее jre выбрав только те части которые используются. В сети обычно распространяют jar, хотя например в играх jre чаще вшивают, например тот же майнкрафт или недавно в стиме была игра lennas inception вроде (точно не помню) так вот там использовалось то что я описал, хотя это не вшивание а просто сбор всего в одну портативную версию с простым запуском. Потом можно будет упаковать в установщик. Но такое под каждую ось отдельно.
1
|
|
|
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
|
|
| 11.03.2020, 20:42 | |
|
pumaex, на мнениях других ты далеко не уедешь((. пробуй все сам! только ты знаешь чего хочешь и сколько у тебя ресурсов на освоение...
https://www.cyberforum.ru/mobile-dev/ - ветка для мобильных систем.
0
|
|
|
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
|
||
| 11.03.2020, 22:35 [ТС] | ||
|
Я правильно понял?
0
|
||
|
Модератор
|
||
| 11.03.2020, 22:37 | ||
|
для телефона в любом случае придется писать свою версию программы, перенос с телефона на пк тоже не возможен. так как для пк собираются jar файлы а для андроида apk
1
|
||
|
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
|
|||
| 11.03.2020, 22:48 [ТС] | |||
|
В питоне для того, чтобы программа запустилась нужно заставить пользователя установить интерпретатор Питона и все библиотеки. Превратить программу в автономную очень сложно. Всё рассчитано на то, что пользователь должен разбираться в программном обеспечении.
Добавлено через 6 минут
0
|
|||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||
| 12.03.2020, 00:25 | ||
0
|
||
|
Модератор
|
|
| 12.03.2020, 09:52 | |
|
Я в андроиде не разбираюсь, но тут можно провести аналогию с c++, пк принять за windows, а андроид за линукс. язык по идее один и тот же, но вот программы чтото не переносятся между виндой линуксом, особенно если на винде программа использует winapi, а на ликсе свое. так вот между пк и андроидом нечто похожее. на пк гуи это swing awt fx а на андроиде свои, даже opengl там свой, на пк просто opengl, а на андроиде opengl es. то есть даже используя opengl для гуи не создать один код для всего, хотя opengl для гуи это харкорно и глупо))
0
|
|
|
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
|
|
| 12.03.2020, 11:49 [ТС] | |
|
Я тогда не могу понять, что имеет ввиду автор книги, которую сейчас читаю.
Цитата: "одна и та же программа Java может! быть! запущена (работать) без каких-либо изменений на различных компьютерах, например PC, Apple или других платформах. Фактически программы, написанные на Java даже не знают, на каком компьютере они выполняются, так как они выполняются внутри специальной программной оболочки, которая называется виртуальная машина JVM (Java!Virtual!Machine)." Я обратил своё внимание на Java после вот таких строк. Но люди, которые занимаются Java, например, на этом форуме (и я склонен им верить), говорят обратное. Может быть я что-то не так понял, или автор книги имел ввиду что-то другое?
0
|
|
|
Модератор
|
|
| 12.03.2020, 12:08 | |
|
между компами может работать, но на каждом компе должна быть установлена jre соответствующая системе
тогда действительно код написанный один раз будет работать везде при этом про перенос на андроид там ни слова, мобильная платформа там не имеется в виду. хотя нет, вот так понятнее, программа будет работать везде где может работать и есть jvm, так вот на андроиде этой jvm нету, там свой аналог Dalvik. jvm работает с байткодом, а dalvik имеет свой формат байткода отличный от jvm, это в добавок полного отличия принципов написания и работы гуи. для анлроида программы пишутся в андроид студио, где уже есть втсроенные логгер, парсер джейсонов, opengl и возможно много чего еще, а на пк надо самому подключать нужные бибилиотеки и работать в ide для пк версии
1
|
|
|
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
|
|
| 12.03.2020, 17:42 | |
|
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 12.03.2020, 17:47 | |
|
Vladimir1982, JDK - для разработки, это набор стандартных библиотек. А JRE - для запуска. Это и есть JVM.
0
|
|
|
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
|
|
| 12.03.2020, 17:52 | |
|
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 12.03.2020, 18:13 | |
|
Vladimir1982, а как ты без компилятора запускаешь екзешники например?
0
|
|
|
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
|
|
| 12.03.2020, 18:16 | |
|
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||
| 12.03.2020, 18:18 | ||
|
JRE - Java Runtime Environment. Среда выполнения.
Сначала программа пишется и компилируется. Это JDK. Ну а потом уж запускается. Это JRE. Добавлено через 1 минуту
0
|
||
|
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
|
|||
| 12.03.2020, 18:20 | |||
|
Добавлено через 51 секунду
* * * Ему ж надо компилировать. Значит нужно JDK.
0
|
|||
| 12.03.2020, 18:20 | |
|
Помогаю со студенческими работами здесь
20
Подойдёт ли Lua для создания десктопных приложений для Windows Подойдёт этот процесс для для новых игр и хороший ли он?
Подойдёт ли для видюхи та же термопаста, что и для процессора?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|