Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
Flash_2oo9
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142
#1

c++/c#/Java - Android

01.10.2013, 01:13. Просмотров 2331. Ответов 47
Метки нет (Все метки)

Давно хочу задать вопрос знатокам (я не пытаюсь развести холивар на вечную тему, интересуюсь Вашим мнением как более опытных товарищей). И решил я это сделать после просмотра этого видео http://www.youtube.com/watch?v=It8xPqkKxis. До этого встречал пост на хабре, в котором также приводились примеры большой скорости роботы приложения написанного на C# чем на Java. Если скорость технологий выше названных языков (C# и c++). Так почему все пишут на яве. Сам писал (и продолжаю писать и изучать) только на яве, потому ответить на свои же вопросы не могу. Хотя мне известно что C# имеет инструменты для разработки по Android, IOs - xamarin. Просто интересуюсь нету ли выгоды при переходить на C# или те же C++ в производительности?

Добавлено через 7 минут
Вот, пожалуйста, еще пост http://habrahabr.ru/company/touchinstinct/blog/189060/.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2013, 01:13     c++/c#/Java
Посмотрите здесь:

Android массивы в Java
Android C++ vs Java
Java на Android Android
Android this в Java
Android Совместимости Java
Java коллекции Android
Не генерируется R.java Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 20:15     c++/c#/Java #21
Цитата Сообщение от V0v1k Посмотреть сообщение
и упадет программа или выведет неправильный результат из-за неподходящей архитектуры
никто не застрахован. именно поэтому у компиляторов есть настройки
Цитата Сообщение от V0v1k Посмотреть сообщение
вы о чем?
например для netbeans - настройки проекта
platform.configuration=CLDC-1.0
platform.profile=MIDP-1.0

для eclipse - манифест
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

Добавлено через 1 минуту
Цитата Сообщение от V0v1k Посмотреть сообщение
только версия SDK
да, это так. тем не менее есть и у этих устройств подводные камни вроде тех странностей с вводом чисел что я описал - причины остались для меня непонятны. скорее всего - отличия в реализации JVM
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:17     c++/c#/Java #22
Цитата Сообщение от vxg Посмотреть сообщение
никто не застрахован. именно поэтому у компиляторов есть настройки
вот именно что нужно билдать отдельно под каждую платформу и не всегда одними настройками обходится, а akp файл один для всех производителей андроид устройств и не волнует тебя какой процессор они ставят на свое устройство.

Добавлено через 1 минуту
Цитата Сообщение от vxg Посмотреть сообщение
тем не менее есть и у этих устройств подводные камни вроде тех странностей с вводом чисел что я описал - причины остались для меня непонятны. скорее всего - отличия в реализации JVM
можно поподробнее?
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 20:19     c++/c#/Java #23
Цитата Сообщение от V0v1k Посмотреть сообщение
вот именно что нужно билдать отдельно под каждую платформу, а akp файл один для всех производителей андроид устройств.
с этим не поспоришь, но на самом деле - это та же война форматов только с другой стороны. просто в случае с андроидом под понятие целевое устройство попадают все устройства на котором андроид в то время как для сишки только устройства с i386 или что там сейчас - отличий нет - и те и те исправно работают в пределах своего зоопарка
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:26     c++/c#/Java #24
суть том, что сама Java работает на большинстве платформ, поэтому ни производителям не нужно делать свои девайсы на какой-то одной, общей платформе и покупать чужие процессоры, ни разработчикам делать отдельные apk для разных производителей, ну а подводные камни, они везде есть.

Добавлено через 2 минуты
и на фотоаппарат элементарно ставятся приложения с маркета, ну а про технические ограничения и так понятно.
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 20:26     c++/c#/Java #25
Цитата Сообщение от V0v1k Посмотреть сообщение
поподробнее
одно и тоже приложение. на ранних моделях телефонов работает строка
Java
1
... new TextField("трам пам пам", "0", 20, TextField.DECIMAL);
на более навороченные трубы почему то перестают разуметь что в поле может быть введено только число с плавающей точкой и потребляют только целые до тех пор пока не извернуться вот так вот
Java
1
... new TextField("трам пам пам", "0", 20, TextField.ANY);
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:40     c++/c#/Java #26
это что за класс такой? у меня такой не находит.

Добавлено через 3 минуты
или это вы на чистой Jave пишите без Android SDK?

Добавлено через 2 минуты
а, понял, это Java ME, ну, в этом я не разбираюсь.
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 20:47     c++/c#/Java #27
Цитата Сообщение от V0v1k Посмотреть сообщение
суть том, что сама Java работает на большинстве платформ
суть в том что на большинстве платформ работают машинные коды которые, как правило, генерятся из сишки. просто дорыть до них проблемно. во всяком случае если это противоречит интересам платформы. платформы ориентированные на коды (как правило всякая автоматика) дают компиляторы и даже среды под себя и проблем сгенерить код для устройства и даже линейки - нет. платформы изолирующие пользователя и разработчика от железа дают возможность генерить байт-код, но, как и все, не могут избавиться от маразма своих создателей идущих кто в лес кто по грибы каждый своим самым правильным путем самым комичным результатом которого явилась невозможность выполнить на ява-ОС ява-приложение без ява-костылей. а, вообще, я за яву
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:54     c++/c#/Java #28
Цитата Сообщение от vxg Посмотреть сообщение
проблем сгенерить код для устройства и даже линейки - нет.
это не всегда ограничивается настройками компилятора, да и это лишний гемор.
Цитата Сообщение от vxg Посмотреть сообщение
ява-ОС
что подразумевается по этим? Android основан на ОС Linux, который в свою очередь на сишке написан.
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 20:58     c++/c#/Java #29
Цитата Сообщение от V0v1k Посмотреть сообщение
это не всегда ограничивается настройками компилятора, да и это лишний гемор.
речь идет о платформах автоматизации - там среда разработки и компилятор идут в комплекте вместе с устройством
Цитата Сообщение от V0v1k Посмотреть сообщение
что подразумевается по этим?
под этим подразумевается ОС позиционирующая себя как "исполняющая ява код" против ОС "исполняющих бинарный код". ведь в apk ява? что же мешает ему прочие явы потреблять? ну конечно же - незначительные отличия в малопонятных галочках скрывающие за собой тонны модулей заслоняющих от нас потроха конкретно взятой железки.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 21:05     c++/c#/Java #30
Цитата Сообщение от vxg Посмотреть сообщение
речь идет о платформах автоматизации - там среда разработки и компилятор идут в комплекте вместе с устройством
ну, значит не все так гладко как хотелось бы.
Цитата Сообщение от vxg Посмотреть сообщение
что же мешает ему прочие явы потреблять?
может это просто кому-то не выгодно
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 21:08     c++/c#/Java #31
Цитата Сообщение от V0v1k Посмотреть сообщение
ну, значит не все так гладко как хотелось бы
напротив - люди заботятся об уменьшении геморроя разработчика
Цитата Сообщение от V0v1k Посмотреть сообщение
может это просто кому-то не выгодно
в точку
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2013, 21:19     c++/c#/Java #32
Ява машина с установленым андроидом нужной версии (4.04) уже откомпилена разработчиком под его процесор и все что работает на других утройствах с этой версией андроиа будет работать и на других усройсвах с этой версией андроида. Теоретически...

У меня встречные вопросы:
1) СКОЛЬКО и какие виды процессоров на сегодня используюся адроид-разработчиками (аппаратная часть)?
2) Можно ли вычислить в ява коде какой процессор используется и выдать свое окно предупреждение "скачайте другую версию ХХХ под ваше устройство с сайта YYY" вместо завиния?
3) Можно ли в один apk встроить несколько версий?
4) Если программа (библиотека) написана на с++ ОЧЕНЬ старой версии она будет поддерживаться в новых архитектурах процессора? Есть ли в них "обратная совместимост"?
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 21:26     c++/c#/Java #33
Цитата Сообщение от Tester64 Посмотреть сообщение
вопросы
4 - если у вас есть исходники программы, то их переносимость на другие архитектуры будет определяться лишь версией стандарта языка (более поздние как правило поддерживают более ранние) и прямотой рук разработавшего (не срезал ли он углы используя магические константы и различные зависящие от реализации трюки встречающиеся, в основном, в задачах с манипуляцией битовыми представлениями данных).
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2013, 21:30     c++/c#/Java #34
Цитата Сообщение от vxg Посмотреть сообщение
4 - если у вас есть исходники программы
В этом то и вопрос... Если я откомпилил исходники(допустим "по умному"), сдал их клиенту, а он через N лет покупает устройство с более продвинутым хардом (проц нового поколения...), есть вероятность что мои старые исходники не прийдется специально для него перекомпиливать?
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
01.10.2013, 21:36     c++/c#/Java #35
Цитата Сообщение от Tester64 Посмотреть сообщение
не прийдется
наверняка придется. хотя смотря что за устройства и что за исходники. для примера - практически все программы которые работали на Windows Millenium (и соответствующем времени аппаратном обеспечении) так же работают без повторной сборки и на Windows 7 (и нынешнем аппаратном обеспечении).
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 22:04     c++/c#/Java #36
во, смотрю нашелся более компетентны человек в этом вопросе чем я и смог задать правильные вопросы
кстати, как пример, слышал что Майкрософт не смог переработать свой пинбол под 64битную архитектуру и просто выкинул его
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
02.10.2013, 11:12     c++/c#/Java #37
Цитата Сообщение от V0v1k Посмотреть сообщение
пинбол
это что?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.10.2013, 12:28     c++/c#/Java #38
http://habrahabr.ru/post/163105/
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
02.10.2013, 16:29     c++/c#/Java #39
неясно что мешало оставить 32-битный пинбол на 64-битной системе... наверное религия)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2013, 17:05     c++/c#/Java
Еще ссылки по теме:

Android Параметры R.java
Android Таймер в Java
Pascal from java Android
Rx Java Android
Rx Java Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.10.2013, 17:05     c++/c#/Java #40
так написано же что не работал он на 64, а портирование требовало слишком много времени.
Yandex
Объявления
02.10.2013, 17:05     c++/c#/Java
Ответ Создать тему
Опции темы

Текущее время: 21:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru