1

Тема: Перенесення програми С++ на ОС Андроїд

Як краще перенести написану на С++ на ОС Андроїд:

  1. Використати відповідне IDE та лишити на С++.

  2. Переписати повністю на Java.

  3. Переписати частково на Java, частини, де найбільше навантаження лишити на С++.

Хочу зрозуміти чи варто вчити Java заради створення додатків для ОС Андроїд.
Чи все ж можна обійтися лише С++?

2

Re: Перенесення програми С++ на ОС Андроїд

Зараз під розробку на Андроїд рекомендованою мовою є Котлін (самі гугл її форсять). Не бачу сенсу у 2025 вчити жабу..
Лише одним С++ не обійтися, певну частину все ж тре буде написати на Java або Котлін. Якщо мета саме портування, то я б взяв Java, бо вона ближча до С, ніж Котлін. Можна деякі речі майже інтуїтивно писати з певними поправками, звісно. Але точно не намагався б її вивчити.

Прихований текст

Одразу в'єтнамські флешбеки згадуючи один з попередніх проєктів, який розроблявся і під Андроїд теж, ухх..
Один з найгірших досвідів.

Подякували: Teg Miles1

3

Re: Перенесення програми С++ на ОС Андроїд

wander написав:

Зараз під розробку на Андроїд рекомендованої мовою є Котлін (самі гугл її форсять). Не бачу сенсу у 2025 вчити жабу..
Лише одним С++ не обійтися, певну частину все ж тре буде написати на Java або Котлін. Якщо мета саме портування, то я б взяв Java, бо вона ближча до С, ніж Котлін. Можна деякі речі майже інтуїтивно писати з певними поправками, звісно. Але точно не намагався б її вивчити.

Прихований текст

Одразу в'єтнамські флешбеки згадуючи один з попередніх проєктів, який розроблявся і під Андроїд теж, ухх..
Один з найгірших досвідів.

Котлін — російська розробка, почитайте статтю про Котлін у Вікіпедії (зверніть увагу на походження назви).
Окрім того 3 з 9 офісів JetBrains російські. З цих причин я не користуюся їхніми продуктами.

Подякували: leofun01, Vik_772

4

Re: Перенесення програми С++ на ОС Андроїд

Teg Miles написав:

Котлін — російська розробка, почитайте статтю про Котлін у Вікіпедії (зверніть увагу на походження назви).
Окрім того 3 з 9 офісів JetBrains російські. З цих причин я не користуюся їхніми продуктами.

Нажаль, дійсно JetBrains заснована расєянами...
Також nginx - російський продукт, і цей форум працює на nginx

5

Re: Перенесення програми С++ на ОС Андроїд

Teg Miles написав:

Як краще перенести написану на С++ на ОС Андроїд:

  1. Використати відповідне IDE та лишити на С++.

  2. Переписати повністю на Java.

  3. Переписати частково на Java, частини, де найбільше навантаження лишити на С++.

Хочу зрозуміти чи варто вчити Java заради створення додатків для ОС Андроїд.
Чи все ж можна обійтися лише С++?

Як варіант можна ще запропонувати фреймворк Flutter/Dart.

Подякували: Teg Miles1

6

Re: Перенесення програми С++ на ОС Андроїд

PRY написав:
Teg Miles написав:

Як краще перенести написану на С++ на ОС Андроїд:

  1. Використати відповідне IDE та лишити на С++.

  2. Переписати повністю на Java.

  3. Переписати частково на Java, частини, де найбільше навантаження лишити на С++.

Хочу зрозуміти чи варто вчити Java заради створення додатків для ОС Андроїд.
Чи все ж можна обійтися лише С++?

Як варіант можна ще запропонувати фреймворк Flutter/Dart.

Схоже, що Flutter/Dart доволі перспективна комбінація.

Подякували: PRY1

7

Re: Перенесення програми С++ на ОС Андроїд

Я не пробував використовувати C/C++ в Dart, але така можливість є, і можливо буде корисним:
Calling C/C++ from Flutter - Richard Heap (Flutter Week)
https://www.youtube.com/watch?v=X8JD8hHkBMc

Подякували: Teg Miles1

8 Востаннє редагувалося Torbins (28.01.2025 22:23:53)

Re: Перенесення програми С++ на ОС Андроїд

- Чим краще їсти, вилкою чи ложкою?
- Це залежить ...

Те саме й з кодом. Якщо код переважно якась математика, а юайка маленька й проста, то її можна написати на чому завгодно, лишивши решту коду як є. Якщо апка має працювати не лише на Андроїді, і не має високих вимог до якості юайки, то варто використати кросплатформовий фреймворк типу Qt, навіть якщо перехід на сам Qt також буде тривалим. Якщо потрібен лише Андроїд, апка має добре інтегруватись в систему і красиво виглядати, а математики в ній мало, то однозначно переписувати.

Подякували: PRY, leofun012

9

Re: Перенесення програми С++ на ОС Андроїд

Teg Miles написав:

Котлін — російська розробка, почитайте статтю про Котлін у Вікіпедії (зверніть увагу на походження назви).
Окрім того 3 з 9 офісів JetBrains російські. З цих причин я не користуюся їхніми продуктами.

Я це чудово розумію, проте, якщо не помиляюсь, Гугл не змінили свого бачення щодо Котліна на Андроїд. Та й навряд чи змінять.

Torbins написав:

Якщо апка має працювати не лише на Андроїді, і не має високих вимог до якості юайки, то варто використати кросплатформовий фреймворк типу Qt, навіть якщо перехід на сам Qt також буде тривалим.

А ось тут не погоджусь. Мобілки напевно той єдиний випадок, коли я б рекомендував для UI скористатись нативним функціоналом. Зараз, що Андроїд, що айОС дозволяють досить легко та швидко накидати юай для застосунку. Під андроїд, це здається, буде шляхом написання/модифікації XML юай файлів, що не складно. Якщо ви робите це у навчальних цілях та хочете познайомитись краще з розробкою під мобілки, то я б радив трохи більше помучитись, але пройти цей шлях як є, без жодних додаткових фреймворків чи бібліотек.

Подякували: PRY1

10

Re: Перенесення програми С++ на ОС Андроїд

№ 3. На Kotlin можна забити і писати на Java.

Подякували: PRY1

11

Re: Перенесення програми С++ на ОС Андроїд

wander написав:

Зараз, що Андроїд, що айОС дозволяють досить легко та швидко накидати юай для застосунку.

Якщо це не Hello World додаток, то, як на мене, не так вже і швидко). Android - в любому випадку потрібні знання Java чи Kotlin. IOS - Swift. І відповідно бібліотек.

wander написав:

Під андроїд, це здається, буде шляхом написання/модифікації XML юай файлів, що не складно.

Звісно, коли знаєш як, то нічого складного там немає. І тут звісно, як кому заходить. Для мене саме використання для написання UI XML файлів, і просування Kotlin як основної мови, було причиною переходу з Android/Java на Flutter/Dart. Тут ти пишеш UI як код, і для мене це виявилось істотно зручніше і цікавіше.
До речі, наразі, на Android, Jetpack Compose теж пропонує аналогічну схему написання UI.
Додатковим бонусом Flutter/Dart є кросплатформеність(мобільні, десктоп, веб). Звісно, знання Java, Kotlin, Swift не вимагаються лише, якщо вам не потрібно виконувати щось специфічне з зонішніми пристроями смартфона чи айфона. Хоча, спільнота Flutter/Dart досить чисельна, і відповідні бібліотеки є практично на всі випадки.

Подякували: leofun011

12

Re: Перенесення програми С++ на ОС Андроїд

Якщо не дуже складний додаток і нема часу на вивчення java/kotlin, можна глянути на react native )

13

Re: Перенесення програми С++ на ОС Андроїд

Спробував Flutter/Dart і згадав як же ж Ґуґл обожнює збирати персональні дані:).
Усе ж таки доведеться хоча б спробувати вивчити Java.

Подякували: leofun01, PRY2

14 Востаннє редагувалося PRY (02.02.2025 17:50:42)

Re: Перенесення програми С++ на ОС Андроїд

Teg Miles написав:

Спробував Flutter/Dart і згадав як же ж Ґуґл обожнює збирати персональні дані:)

Не знаю, якось не відчув цього. Можливо, різні критерії приватності:).

Teg Miles написав:

доведеться хоча б спробувати вивчити Java

У свій час переходив на Java - Android саме з C++ - QT5. Перехід був досить не складним.
Хоча Java тоді жартома називали C плюс плюс мінус, але, як на мене, її дійсно варто вивчити).

Подякували: Teg Miles1

15

Re: Перенесення програми С++ на ОС Андроїд

PRY написав:
Teg Miles написав:

Спробував Flutter/Dart і згадав як же ж Ґуґл обожнює збирати персональні дані:)

Не знаю, якось не відчув цього. Можливо, різні критерії приватності:).

Teg Miles написав:

доведеться хоча б спробувати вивчити Java

У свій час переходив на Java - Android саме з C++ - QT5. Перехід був досить не складним.
Хоча Java тоді жартома називали C плюс плюс мінус, але, як на мене, її дійсно варто вивчити).

Просто на Flutter є відмова від збору діагностики, а на Dart немає можливості відмовитися.
Плюс уся ця комбінація розрахована на постійний доступ до мережі, як і всі продукти Ґуґл.

16

Re: Перенесення програми С++ на ОС Андроїд

Teg Miles написав:

Котлін — російська розробка, почитайте статтю про Котлін у Вікіпедії (зверніть увагу на походження назви).
Окрім того 3 з 9 офісів JetBrains російські. З цих причин я не користуюся їхніми продуктами.

На чому радите писати під Android?

17 Востаннє редагувалося Teg Miles (12.02.2025 12:27:17)

Re: Перенесення програми С++ на ОС Андроїд

Vik_77 написав:
Teg Miles написав:

Котлін — російська розробка, почитайте статтю про Котлін у Вікіпедії (зверніть увагу на походження назви).
Окрім того 3 з 9 офісів JetBrains російські. З цих причин я не користуюся їхніми продуктами.

На чому радите писати під Android?

Android на Java написаний. І найкращий функціонал можна отримати
лише якщо Java використовувати, як я розумію. Тому хочу основу писати
на Java, а найбільш перевантажені частини — на С++.