
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Страницы: (4) [1] 2 3 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
всем привет.
погуглил я по сабжу, и нагуглил NDK. сходу ничего не понял. ни какой версии компилер, ни на сколько урезан и чем урезан. кто в теме, поделитесь опытом. а лучше, статью накатайте. и еще, нагуглил necessitas. но вот чего не понял: 1. это полная версия Qt? или тоже порезанная? 2. неужели нельзя собирать проги прям на андроиде? компилятор ведь там есть. спасибо. |
Сообщ.
#2
,
|
|
|
Цитата niXman @ сходу ничего не понял. ни какой версии компилер, ни на сколько урезан и чем урезан. кто в теме, поделитесь опытом. а лучше, статью накатайте. А статью катать не надо, всё написано давно. По сабжу - всё просто: 1)Объявляем в классе native метод 2)Натравливаем на него javah которій сгенерит интерфейс, особо просветлённые могут это сделать и ручками 3)Имплементим, компилим (для винды надо ставить cygwin) 4)В теле класса с нейтив методом делаем статик блок в котором пишем: LoadLibrary("Name"). Обращаю внимание, что .SO писать ненадо 5)Всё. Теперь немного философии. Если вы думаете, что ваш код будет пахать быстрее чем на джаве, то скорее всего вы ошибаетесь ![]() По поводу necessitas - не читал, но порицаю. Наф не надо, лучше даже не браться. |
Сообщ.
#3
,
|
|
|
Цитата Guy Fawkes @ Если вы думаете, что ваш код будет пахать быстрее чем на джаве, то скорее всего вы ошибаетесь Цитата Guy Fawkes @ Только я вижу тут взаимоисключающие параграфы? В нейтив код надо выносить то, что супер критично по производительности (и джава код не может помочь) |
Сообщ.
#4
,
|
|
|
Цитата Adil @ Только я вижу тут взаимоисключающие параграфы? угу ![]() но я спрашиваю не из-за этого. просто влом java API/framework учить. Цитата Guy Fawkes @ По поводу necessitas - не читал, но порицаю. Наф не надо, лучше даже не браться. поясните пожалуйста, что с necessitas не так? |
Сообщ.
#5
,
|
|
|
Цитата Adil @ Только я вижу тут взаимоисключающие параграфы? Adil, перепишу специально для тебя: 1) Писать тупо всё что только можно на плюсах - зло и незнание джавы. К примеру глупо выносить сортировку массива в нейтив. 2) Джава код не может помочь, к примеру, при обращении к экрану. Вот захочешь ты сделать скриншот экрана - а джава тебе не даст. Вот для этого и надо писать нейтив код. Во всех других случаях алгоритм такой: 2.1) Пишем всё на джаве 2.2) Только если не устраивает производительность начинаем оптимизацию 2.3) Запускаем профайлер и смотрим что тормозит 2.4) Находим говнокод на джаве, переписываем его, переходим на 2.2, если переписать не можем - то велкам далее 2.5) Пишем native код, анализируем скорость и возможно возвращаемся на 2.1 |
Сообщ.
#6
,
|
|
|
Цитата Guy Fawkes @ глупо выносить сортировку массива в нейтив. правда? Оо а ничто, что я всю жизнь на плюсах пишу? а там сортировка происходит именно в нэйтив коде) |
Сообщ.
#7
,
|
|
|
Цитата niXman @ но я спрашиваю не из-за этого. просто влом java API/framework учить. Ну так не учи, кто же заставляет то? Другое дело, как ты без фреймворка будешь работать с сервисами от андроида. Я понимаю, что можно сделать нейтив вызов и из плюсов, но всеравно матчасть знать надо. А если матчасть знаешь, то можно и на джаве писать. Цитата niXman @ поясните пожалуйста, что с necessitas не так? Для гуёв у Андроида есть свои средства. Они родные, покрывают работу со всеми экранами и т.д. Вообще я где-то уже писал как надо разрабатывать софт если надо кросплатформенность, можно поискать. Или тут или в мобильных устройствах. Добавлено Цитата niXman @ правда? Оо а ничто, что я всю жизнь на плюсах пишу? а там сортировка происходит именно в нэйтив коде) Ну и ладушки. Привыкай ![]() Более того с нейтив кодом есть парочку приколов: 1) Дебажить его не так просто ![]() 2) Если не дай Бог вы выделили память в нейтив коде, то сами понимаете. |
Сообщ.
#8
,
|
|
|
мельком глянул компилятор, что поставляется в NDK. сходу, не заметил чтоб там не хватало каких-то STL-хидеров. версия точно не понята, но что-то вроде 4.4.х
Добавлено Цитата Guy Fawkes @ Если не дай Бог вы выделили память в нейтив коде, то сами понимаете. что? освобождать придется? или в чем подвох? |
Сообщ.
#9
,
|
|
|
Цитата niXman @ версия точно не понята, но что-то вроде 4.4.х В пятом была 4.4.3, сейчас 6b что там внутри не знаю. Цитата niXman @ что? освобождать придется? или в чем подвох? Да, освобождать придётся. |
Сообщ.
#10
,
|
|
|
Цитата Guy Fawkes @ Да, освобождать придётся. ну так это привычное дело. да и смарты именно для этого и придумали. и шаблоны, и много чего еще вкусненького из плюсов. но, походу, жава все равно придется учить. чтож они, гады, пайтон не использовали... |
Сообщ.
#11
,
|
|
|
Кстати вот ссылка на пост, типа кросплатформенное решение для мобайла.
Добавлено Цитата niXman @ ну так это привычное дело. да и смарты именно для этого и придумали. и шаблоны, и много чего еще вкусненького из плюсов. Ага, отлично. Главный вопрос: нафига? Джава делает всё то же без дополнительного оверхеда. |
Сообщ.
#12
,
|
|
|
Цитата Guy Fawkes @ нафига? потому что с++ для меня как родной язык. а тут еще и жава учить придется %) ладно, а то скатываемся в троллинг. еще вопрос: какие мысли по поводу Xamarin и MonoTouch? |
Сообщ.
#13
,
|
|
|
Цитата niXman @ потому что с++ для меня как родной язык. а тут еще и жава учить придется %) Ну если у тебя заболит горло и у тебя есть друг проктолог, ты же к нему не пойдёшь на приём? Оно конечно можно ... ![]() Цитата niXman @ еще вопрос: какие мысли по поводу Xamarin и MonoTouch? Мысли такие: 1) Если надо суперкросплатформ (винда + мак + айфон + андроид + веб) - юзаем Unity 2) Если надо айфон + андроид - нейтив либа для логики (если надо) + гуи отдельно 3) Во всех остальных случаях только каноніческаЪ православнаЪ джава. |
Сообщ.
#14
,
|
|
|
Цитата Guy Fawkes @ юзаем Unity а это что? темный я в этом направлении, понимаю) Добавлено почитал несколько статей на хабре про запрет mono/monotouch, и расстроился... кто, что думает по этому поводу? есть ли вероятность что Apple отменит свой запрет? Добавлено еще, с necessitas не до конца понял, почему плохо? |
Сообщ.
#15
,
|
|
|
Цитата niXman @ а это что? темный я в этом направлении, понимаю) Unity 3D Цитата niXman @ почитал несколько статей на хабре про запрет mono/monotouch, и расстроился... кто, что думает по этому поводу? есть ли вероятность что Apple отменит свой запрет? Так это, если не секрет, что писать собираешся? Я уверен на 99.(9)% что моно тебе и нафиг не надо. Добавлено Цитата niXman @ еще, с necessitas не до конца понял, почему плохо? Потому что там нет поддержки всего что надо для того чтобы сделать нормальный layout. |