На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Hsilgos
Страницы: (4) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> GCC на андроид, и ГО кодить на плюсах! возможно?
    всем привет.
    погуглил я по сабжу, и нагуглил NDK.
    сходу ничего не понял. ни какой версии компилер, ни на сколько урезан и чем урезан.
    кто в теме, поделитесь опытом. а лучше, статью накатайте.

    и еще, нагуглил necessitas.
    но вот чего не понял:
    1. это полная версия Qt? или тоже порезанная?
    2. неужели нельзя собирать проги прям на андроиде? компилятор ведь там есть.


    спасибо.
      Цитата niXman @
      сходу ничего не понял. ни какой версии компилер, ни на сколько урезан и чем урезан.
      кто в теме, поделитесь опытом. а лучше, статью накатайте.

      А статью катать не надо, всё написано давно.

      По сабжу - всё просто:
      1)Объявляем в классе native метод
      2)Натравливаем на него javah которій сгенерит интерфейс, особо просветлённые могут это сделать и ручками
      3)Имплементим, компилим (для винды надо ставить cygwin)
      4)В теле класса с нейтив методом делаем статик блок в котором пишем: LoadLibrary("Name"). Обращаю внимание, что .SO писать ненадо
      5)Всё.

      Теперь немного философии. Если вы думаете, что ваш код будет пахать быстрее чем на джаве, то скорее всего вы ошибаетесь :) В нейтив код надо выносить то, что супер критично по производительности (и джава код не может помочь) либо же всякие мегасистемные приколы для рута или кастомной прошивки.

      По поводу necessitas - не читал, но порицаю. Наф не надо, лучше даже не браться.
        Цитата Guy Fawkes @
        Если вы думаете, что ваш код будет пахать быстрее чем на джаве, то скорее всего вы ошибаетесь
        Цитата Guy Fawkes @
        В нейтив код надо выносить то, что супер критично по производительности (и джава код не может помочь)
        Только я вижу тут взаимоисключающие параграфы?
          Цитата Adil @
          Только я вижу тут взаимоисключающие параграфы?

          угу :)
          но я спрашиваю не из-за этого. просто влом java API/framework учить.
          Цитата Guy Fawkes @
          По поводу necessitas - не читал, но порицаю. Наф не надо, лучше даже не браться.

          поясните пожалуйста, что с necessitas не так?
            Цитата Adil @
            Только я вижу тут взаимоисключающие параграфы?

            Adil, перепишу специально для тебя:
            1) Писать тупо всё что только можно на плюсах - зло и незнание джавы. К примеру глупо выносить сортировку массива в нейтив.
            2) Джава код не может помочь, к примеру, при обращении к экрану. Вот захочешь ты сделать скриншот экрана - а джава тебе не даст. Вот для этого и надо писать нейтив код. Во всех других случаях алгоритм такой:
            2.1) Пишем всё на джаве
            2.2) Только если не устраивает производительность начинаем оптимизацию
            2.3) Запускаем профайлер и смотрим что тормозит
            2.4) Находим говнокод на джаве, переписываем его, переходим на 2.2, если переписать не можем - то велкам далее
            2.5) Пишем native код, анализируем скорость и возможно возвращаемся на 2.1
              Цитата Guy Fawkes @
              глупо выносить сортировку массива в нейтив.

              правда? Оо
              а ничто, что я всю жизнь на плюсах пишу? а там сортировка происходит именно в нэйтив коде)
                Цитата niXman @
                но я спрашиваю не из-за этого. просто влом java API/framework учить.

                Ну так не учи, кто же заставляет то? Другое дело, как ты без фреймворка будешь работать с сервисами от андроида. Я понимаю, что можно сделать нейтив вызов и из плюсов, но всеравно матчасть знать надо. А если матчасть знаешь, то можно и на джаве писать.
                Цитата niXman @
                поясните пожалуйста, что с necessitas не так?

                Для гуёв у Андроида есть свои средства. Они родные, покрывают работу со всеми экранами и т.д. Вообще я где-то уже писал как надо разрабатывать софт если надо кросплатформенность, можно поискать. Или тут или в мобильных устройствах.

                Добавлено
                Цитата niXman @
                правда? Оо
                а ничто, что я всю жизнь на плюсах пишу? а там сортировка происходит именно в нэйтив коде)

                Ну и ладушки. Привыкай :) Джава отсортирует твой массив не хуже, а по скорости, учитывая затраты на нейтив вызовы, еще и быстрее.
                Более того с нейтив кодом есть парочку приколов:
                1) Дебажить его не так просто ;) Точне просто ад.
                2) Если не дай Бог вы выделили память в нейтив коде, то сами понимаете.
                  мельком глянул компилятор, что поставляется в NDK. сходу, не заметил чтоб там не хватало каких-то STL-хидеров. версия точно не понята, но что-то вроде 4.4.х

                  Добавлено
                  Цитата Guy Fawkes @
                  Если не дай Бог вы выделили память в нейтив коде, то сами понимаете.

                  что? освобождать придется? или в чем подвох?
                    Цитата niXman @
                    версия точно не понята, но что-то вроде 4.4.х

                    В пятом была 4.4.3, сейчас 6b что там внутри не знаю.
                    Цитата niXman @
                    что? освобождать придется? или в чем подвох?

                    Да, освобождать придётся.
                      Цитата Guy Fawkes @
                      Да, освобождать придётся.

                      ну так это привычное дело. да и смарты именно для этого и придумали. и шаблоны, и много чего еще вкусненького из плюсов.
                      но, походу, жава все равно придется учить. чтож они, гады, пайтон не использовали...
                        Кстати вот ссылка на пост, типа кросплатформенное решение для мобайла.

                        Добавлено
                        Цитата niXman @
                        ну так это привычное дело. да и смарты именно для этого и придумали. и шаблоны, и много чего еще вкусненького из плюсов.

                        Ага, отлично. Главный вопрос: нафига? Джава делает всё то же без дополнительного оверхеда.
                          Цитата Guy Fawkes @
                          нафига?

                          потому что с++ для меня как родной язык. а тут еще и жава учить придется %)

                          ладно, а то скатываемся в троллинг.


                          еще вопрос: какие мысли по поводу Xamarin и MonoTouch?
                            Цитата niXman @
                            потому что с++ для меня как родной язык. а тут еще и жава учить придется %)

                            Ну если у тебя заболит горло и у тебя есть друг проктолог, ты же к нему не пойдёшь на приём? Оно конечно можно ... :lol:
                            Цитата niXman @
                            еще вопрос: какие мысли по поводу Xamarin и MonoTouch?

                            Мысли такие:
                            1) Если надо суперкросплатформ (винда + мак + айфон + андроид + веб) - юзаем Unity
                            2) Если надо айфон + андроид - нейтив либа для логики (если надо) + гуи отдельно
                            3) Во всех остальных случаях только каноніческаЪ православнаЪ джава.
                              Цитата Guy Fawkes @
                              юзаем Unity

                              а это что? темный я в этом направлении, понимаю)

                              Добавлено
                              почитал несколько статей на хабре про запрет mono/monotouch, и расстроился... кто, что думает по этому поводу? есть ли вероятность что Apple отменит свой запрет?

                              Добавлено
                              еще, с necessitas не до конца понял, почему плохо?
                                Цитата niXman @
                                а это что? темный я в этом направлении, понимаю)

                                Unity 3D
                                Цитата niXman @
                                почитал несколько статей на хабре про запрет mono/monotouch, и расстроился... кто, что думает по этому поводу? есть ли вероятность что Apple отменит свой запрет?

                                Так это, если не секрет, что писать собираешся? Я уверен на 99.(9)% что моно тебе и нафиг не надо.

                                Добавлено
                                Цитата niXman @
                                еще, с necessitas не до конца понял, почему плохо?

                                Потому что там нет поддержки всего что надо для того чтобы сделать нормальный layout.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0508 ]   [ 14 queries used ]   [ Generated: 7.07.25, 17:14 GMT ]