Можно ли программировать под android на чистом C++?
В дальнейшем хочу разрабатывать приложения под android, по многочисленным предложениям начал изучать программирование с C++ (о чем не жалею) - базовые возможности (функции, классы, указатели, ссылки, массивы и т.д.).
Вопрос:
1) Нужно ли переходить на Java или можно использовать C++? Все-таки он довольно сложноват, да и программировать на уровне процессоров, складывать биты+байты не очень тянет, но С++ конечно хорош многое понял чего не понимал раньше, но углубляться дальше уже не потяну из-за своего возраста, наверное.
2) Если, например, я буду учить Java по книгам (Хорстманн, Шилдт и т.д.), он пригоден для android в чистом виде? Или надо подключать стороннее ПО, либы, api, другие знания?
3) Можно ли после базиса начинать сразу с движков, или это неправильно?
1) C++ - не Си, складывать "биты в байтах" здесь нужно не так часто (без необходимости). Тем более с Qt. Мнений тут достаточно много, порог вхождения здесь все так же высок. Но боязнь самообучения противоестественна для того, кто решил связать жизнь с программированием.
2) JavaSE API во многом доступна в Android, но там еще целый фреймворк по поддержке Android Java API. Изучать Android придется обязательно.
Практически любой язык сам по себе бесполезен без какого-то прикладного API, будь то классы Java SE/EE API, FCL в .Net Framework или Qt/GTK/wxWidgets/MFC в C++ и другие.
Если не затруднит, поделитесь ссылками хотябы на иностранные книги по разработке с применением NativeActivity(не вынесение части кода из Java в JNI, а именно полностью нативное программирование на C++ без использования Java вообще). А то как-то это дело тухло задокументированно, и постоянно возникают грабли в виде глупых ограничений накладываемых андройдом.
Можно. Причем на хабре была статья даже, которая сравнивала NDK(C++) и SDK(Java) и SDK был явно не в выигрышной ситуации(по скорости, но не скорости разработки)