• С чего начать делать приложение для инвентаризации?

    @dplsoft
    >> PS:может быть есть что-то подобное уже?I

    а то! их там тьма тмущая...

    * https://play.google.com/store/apps/details?id=co.a...
    * https://play.google.com/store/apps/details?id=com....
    * https://play.google.com/store/apps/details?id=ru.r...

    >> насколько сложно будет создать такое, не имея опыта?

    не имея опыта разработки под мобилку вообще?
    предположим вы уже знаете Java на уровне OCA .
    если так, то за полгода-год (смотря с какой интенсивностю) игр с хелло-водами для разных технологий (простое приложение, дизайн/архитектура простого многопоточного приложения, работа с сетью, простой обмен данными с сервером, структуризация сложного проекта, подключение внешних библиотек, ...) - вы освоите все нужные вам технологии для сборки такогоприложения. Если упорно заниматься только этим - то за может за пару месяцев и сделаете. (при наличии хорошего опыта разработки вообще, но раз вы задаете вопросы такого толка как задаете - то, полагаю, такого опыта у вас пока нет....)

    Зато потом будет проще. Пара недель, если не использовать никакие фреймворки (кроме внешних проетов типа "сканирование штрихкодов") и прочее.
    Ответ написан
    Комментировать
  • Какие есть С++ free open source библиотеки для реализации SOAP клиента?

    @dplsoft
    >>gsoap, но у него отдельная лицензия на коммерческое использование.
    ээээ... давайте лучше определимся что GPL - требует опенсорсности, но совсем не обязательно _бесплатности_.
    И что ещё более важно - GPL _не_ требует общедоступности
    .

    и по GPL - вы обязаны дать код только потребителю, а не всем подряд.
    т.е. купили у вас программу - вы потребителю на компакт диск исходники и записали. Никто ничего публиковать или расшаривтаь не обязывает.

    Понимаете?
    Конечно потребитель не сможет дальше перелицензировать, но это эго проблемы) Впрочем если он опубликует - вы к нему тоже претензий не выставите. Это его дело. ведь это GPL.

    или вы хотите засунуть GSOAP код в не-GPL- приложение?
    если последнее - то выносите все что собирается с GSOAP в отбельную динамичеси подключаемую библиотеку и её лицензируйте по GPL а остальной код - как считаете нужным.

    ЗЫ: ну и да. GSOAP лучший. имхо.

    потом я бы указал на WSF Staff - ребята наши, русские, в 2011 г. активно отвечали на запросы и фиксили баги. Думаю и сейчас можно достучаться)) (у них кстати Apache лицензия. как её в проприетарных сорсах пользовать или коммерчески проектах - не скажу, не разбирался. Моя компетенция - GPL)))

    Есть ещё Axis2 и Axis2/C, но то, что они генерируют как Си-шный код - страшно и непонятно. Хотя для Java типа вполнен ничего себе код ваяют.

    Вообще, давным давно я ковырялся с этим и вот сравнительная табличка того, что я нарыл. Актульность на 2011 год, но не уверен что сильно поменялось: www.prog.org.ru/topic_16542_0.html

    UPD: вот ещё что-то нарыл sourceforge.net/projects/wsdlpull
    Ответ написан
  • Что использовать для быстрой разработки кроссплатформенных приложений?

    @dplsoft
    мои 5 компеек за то, что знаю:

    1) +1 за С++\Qt.
    в версии 4.5 был самым клевым SDK с самой "гладкой" продуманной структурой классов. Имхо, конечно, но я бы даже сказал, что на фоне Qt, в части стройности API - Java SE выглядит костыльно-лоскутным одеялом ( хотя оно и понятно - у джавы жесточайшее требование обратной совместимости вплоть до Java 1.0, а классы Qt4 были "заново" спроектированы в 2004-2007 гг без поддержания обратной совместимости )
    +: крайне продуманный, нелоскутный SDK. в 90% интерфейсов используестя единая логика и подход. вплоть до одинаковых сигнатур функций у классов.
    + : бОльшая часть механизмов GUI-классов заточена на офисные приложения.
    - : не все поголовно классы совсем кроссплатформенны. Например Bluetooth на андроид ещё не заточили.

    Что сейчас они сделали с QML - увы деталей уже не знаю. Отошел от Qt когда он был 4.8-5.0 (сейчас актуален Qt5.3)

    2) я сейчас делаю приложение на Java на LibGDX (по вышеописанной причине с Bluetooth). LibGDX - это, вообще, игровой движок - вы работаете с камерой, сами размещаете объекты/справты/элементы на плоскости, и тд и тп. Потому если вам надо будет делать много менюшек и прочего - в самом начале, пока вы не сделаете свою прослойку менюшек, кнопочек, заголвоочков - вам надо будет вкладываться немного больше, чем с Qt, но зато вы можете сделать много больше, красивее, динамичнее с эффектами.
    Ответ написан
  • Как написать реал-тайм онлайн игру? Методология, паттерны, статьи?

    @dplsoft
    Сильно мне кажется, что вам в первую очредь надо понять/рассказатьНам что именно вы собираетесь писать, а уже потом - вам могут предлагать те или иные варинты решения.

    В зависимости от того, что вы будете делать - какая именно у вас будет "реалтаймовая серверная игра" - от этого будут зависить и те приемы или методы которые вам лучше всего подойдут.

    И что вы вкладываете в понятие "реалтаймовый"?
    вы понимаете, что если 2-х шахматистов ограничить регламентом - мол далайте ход раз в минуту и строго черезх минуту всегда - то это тоже будет _реалтаймовая игра_? "реалтаймовые шахматы с периодом 1 минута". Вас устроит такое?

    с другой стороны вот скажем - сервер для кваки - должен жить совершенно по другим принципам.

    с третьей стороны - при обилии игроков - кваковский сервер начнет лагать, а вот EVE-онлайн, как где-то уже писали - ... замедлит время.

    Что идеально в одном случае - никак не подходит в другом. Постройте сначала логическую модель вашей игры, сущности, объекты, принципы их взаимодействия между друг другом, определите требования в быстродействию, потом начинайте представлять как клиенты и сервер будут взаимодейтсвовать и какую картину миру будут поддерживать?

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

    и потом уже выстраивайте из этого и того что вы знаете те или иные архитектурные механизмы и выбирайте паттерны.

    Вообще задача сильно глобальная - в том виде как задан вопрос.
    Может стоит попробовать начать с чего-то более простого? потому что если вы задаете вопрос про то "как открывать сокет" (технологический инструментарный вопрос) - но плохо представляете что делать если начнется "рассинхронизация" (это концепции логики работы распределнной системы сервер-клиенты) - то может стоит начать с чего-то попроще?

    например, сделать сервер для какой пошаговой игры?
    Ответ написан
    5 комментариев
  • Программа для учета времени!

    @dplsoft
    А мы тут вот как раз пилим софтину для таймтрекинга. ^_^) Вернее даже смешанная тайм/таск-трекинг. Для андроида пока только, в последствии переделаем на LibGDX и будет кроссплатформенно.

    Можем запились фичу "бибикать каждые пол часа для вопроса что вы далали посление пол часа".
    Хотите? Релиз боюсь будет опубликован не ранее лета, но лучше поздно чем никогда? так ведь?)))

    У нас идеология простая. Есть дерево задач. К нему есть кнопочки старт-стоп. Можно тикать несколько задач одновременно. Будет интеграция с проектными серверами (типа мс-проджект, спайдер, примавера или что у нас там запросят) и багтрекерами (типа редмайна, мантиса, багзиллы) для получения тикетов и работ. Одна из основных идей - тайм менеджмент должен быть доступным в 2 клика, дабы не отвлекать на себя много времени или внимания (в десктоп версии - это всегда висеть в систрее, для андроида - всегда висящая в уведомлениях панель с избранным списком задач с кнопками старт-стоп избранных проектов, и пр.)

    Если интересно могу спросить руководство о выдаче беты на частное тестирование. Сейчас только локально, и без дерева задач и без создания собственных подзадач. Один отчет.
    Ответ написан
    3 комментария
  • QT Table Layout - его нету, как имитировать?

    @dplsoft
    правильно понимаете что нужен QGridLayout )
    а если что то не так делаете , то где ваш код в котором у вас не выходит что нужно?
    Ответ написан
    Комментировать
  • Как передать команду через bluetooth в android?

    @dplsoft
    блютус чат из примеров к андроид сдк смотрели?
    там при соединении с блютус-устройством открываются потоки записи и чтения , которым вы отдаете byte[].

    а его заполняете чем угодно.
    Ответ написан
    Комментировать
  • С чего начать разработку mobile app?

    @dplsoft
    Если приложение игровое - то вот я сейчас смотрю в сторону libGDX
    Тормозит он или нет - решайте сами - благо игрушек на нем напросторах гуглестора и иосмагазина хватает.

    PhoneGap аки представитлье HTML5-направления - я бы не советовал, имхо - на мобилках рискует отхватывать тормоза, аки и всякий перегруженный джаваскриптами сайт при отображении на мобилке.

    Позволю себе не согласиться с @SashaSkot насчет тормозов. Возьмем libGDX - если есть что-то нагруженное, требующее вычислений - выносите код в "нативную часть" и делайте это в родных классах созданных под конкретно эту платформу. Я например сейчас так стыкую libGDX и бакэнды для работы с блютусом.

    Если взять Qt - то с ним ещё все круче - Qt по идеологии - компилится в бинарный код ориентированный под конкретное железо и конкретную ОС. Под линухами одно, под иос дургое, под андроид тертье - но все из одних исходников и без значительного геморроя или адаптации. Под Андроид Qt компитился если у вас на борту стоит NDK - и на выходе в Андроид на исполнение попадает смесь бинарников и джава оболочек для них. Не могу сказать что это будет тормозить. Часто пользоваться готовым фреймворком выгоднее чем лабать свой велосипед в том числе и в плане производительности кода.
    Ответ написан
  • В чем претензии Oracle к Google относительно использования java для разработки android?

    @dplsoft
    По моему, основная претензия была в патентовании спецификаций и описаний Джава машины, и последующих за этим претензий типа "мы вам не давали права писать свою джава машину которая этим спецификациям (не?) соответвует". (возможно, (смотрю на пост выше) они пытались ограничить создание виртуальных машин только такими, которые полностью соответвуют их спецификациям))

    Типа вот мы придумали API, и оно "патентованное", и только мы можем говорить кто может реализовывать это API, а кто нет, и в каком виде.

    Фактически, ораклы были далеко посланы, особенно в контексте признания "высшим европейским судом"(?) что сигнатуры API-функций не подлежат патентованию.
    (*ссылки сейчас искать не буду долго, извините)) т..е сам документ - подлежит защите как объект "автоского права" , т.е. цитировать документ, использовать в создании других документов - все только в соответсвии с лицензией, но вот сами сигнатуры функций - вы не можете запретить реализовывать третьим лицам.(поправляйте меня кто знает/помнит детали)

    Т.е. вы не можете сказать что "вот у меня есть класс такой-то, унего такие то функции", описать интерфейс (скажем на джаве), а потом запретить кому-либо реализовывать этот интерфейс в своем коде.

    (хотя вот? если вспомнить историю - то с майкрософтом это прокалило. Их протянули за создание J++ (кажется). После чего они (MS) типа разобиделись, и сделали "свой блекджек со шлюхами" в виде дотнет и сишарп)
    Ответ написан
    Комментировать
  • Какие есть книги по GUI для Android приложений на Java (без XML)?

    @dplsoft
    А зачем вам "XML учить" пока вы новичок ?

    В эклипсе есть "достаточно-прекрасный" визуальный редактор этих XML. Все вполне визуальненько, аки в дельфи мышкой добьавляете на форму элементы и не надо в XML ковыряться.
    Для начала вам этого вполне хватит. Я год занимаюсь ковырянием андроида, и в XML раскладок (layout) лезу очень редко.

    И определитесь вы хотите учить Java который SE или EE или AndroidSDK который пересекается с первыми двумя только пятком-другим базовых для Java библиотек?

    Гуй в "обычной джаве" рисуется по разному, (и этих пакетов нет в андроидном SDK), а в AndroidSDK оно рисуется совсем не так. Там достаточно внятная и нормальная технология, не так клево как в C++\Qt, но вполне терпимо) так что я не понмиаю вашего вопроса или ваших страхов...
    Идите, учите, творите хелловорды и таск-тудушки(почему то многие с этого начинают) и ничего не бойтесь ;)
    Ответ написан
    Комментировать
  • C# программист хочет разрабатывать под Android: Java с нуля или Xamarin?

    @dplsoft
    По топику. ИМХО: Если писать только под Андроид - имхо, я бы рекомендовал вам путь "изучить джаву". Это дольше, но "основательнее".

    Имхо, как "андроидовец пишущиц на Java" - вы будете более востребованы, чем "андроидовец пишущий на Xamarin" и пр.

    Кроме того : освоить сам язык - на уровне достаточном что бы с мануалами написать простой тудулист - не составит проблемы. Для андроида нужно учить не JavaSE/JavaEE, а AndroidSDK - они пересекаются с JavaSE только некоторым набором базовых библиотек.

    Т.е. "если вам и так и так учить новый SDK - так зачем учить ксамариновский SDK, если можно выучить сразу AndroidSDK"?
    Ответ написан
    4 комментария
  • Есть ли программы для приведения кода к нормальному виду?

    @dplsoft
    Насчет директории - не знаю, а вот отдельный исходник в эклипсе можно легко переделать, "кастанув" "Ctrl+Alt+F" в любом окне редактирования исходного кода.

    Причем в настройках можно менять стиль под который вы форматируете.
    Например, меня "бесит" "стандартное" джавовское форматирование в той части, в которой оно опсиывает "скобочки".

    Типа исходно оно выглядит так:
    for (int i = 0, size = params.length; i < size; i++) {
    		p += getType(params[i]) + " param" + i;
    	}

    Я же предпочитаю стиль когда скобочки одни над другими (это не правильно, но мне код в разы быстрее читать если оно так)
    for (int i = 0, size = params.length; i < size; i++) 
            {
                p += getType(params[i]) + " param" + i;
            }


    Так вот: эклипсину можно настроть и на тот, и на другой стиль принудительного переформатирования. И ещё на пяток предустановленных, или своих собственных.
    Ответ написан
    Комментировать
  • Как сделать многослойный интерфейс приложения Android Xamarin?

    @dplsoft
    ээээ... или я вас не понял, или RealtiveLayout - он кажется таким и задуман?
    Располагаете элементы руками с координатами относительно угла экрана. И кажется там даже уровнем слоя можно управлять. Читайте маны внимательно и формируйте раскладку руками. Смотрели его ?

    (кстати, тэг [c#] тут, кажется, совсем не нужен ?)
    Ответ написан
    Комментировать
  • Почему Skype при запуске подключается ко всем внешним дискам?

    @dplsoft
    Скайп полез на внешний диск? Это фигня.
    А вот то, что скайп залез почитал ваше хранилище паролей в браузере - это уже задница. habrahabr.ru/post/214231
    Ответ написан
    Комментировать
  • Существует ли оболочка linux, где работают сочетания клавиш на русском?

    @dplsoft
    А в какой именно программе вас интересует работа комбинаций клавиш?

    Вот например под KDE под Бубунтой 13 - вроде как все работает,
    пишу сейчас в русской раскладке, в FireFox и Ctrl+C / Ctrl+V в окне ввода текста на этом сайте работают на ура.
    (Как сделал - не помню. Вроде как достаточно сейчас делать "#apt-get upgrade" и оно заработает.. не? ставил месяц назад или около того...)

    Но вот Эклипсу, в общем-то, на это всё глубоко плевать с высокой колокольни. Ctrl+C(lat) / Ctrl+V(lat) у него различаются с Ctrl+С(рус) / Ctrl+М(рус).

    Не всё с комбинациями клавиш в линухах завязано на оболочку,имхо.
    Ответ написан
    Комментировать
  • Логотип Android (робот), право на использование в рекламном объявлении

    @dplsoft
    Я что сами они говорят? те кто отклонил? какому именно пункту законодательства противоречит и т.д и т.п. Может они сами не разобрались?
    Ответ написан
    Комментировать
  • Android: Qt vs Java. Что лучше использовать?

    @dplsoft
    Посмею оспорить ход рассуждений lorus ( Android: Qt vs Java. Что лучше использовать? ).
    Итог у нас почти один, но как в математике - когда ход рассуждений ошибочен - даже если ответ верен - то задача не решена. Возможно во много субъективно, но выскажусь, на правах личного мнения человека, который любит и писал и на Qt, и на Android с его "родным" Java тоже.
    На Qt для Android не писал, потому что на момент начала последнего проекта технология была сырая.

    И так: Не агитка за Qt но несколько слов в защиту Qt.

    Забегая вперед скажу: топикстартеру - если есть небольшой опыт разработки под Андроид, вы не работали ранее с Qt, и вам не важна переносимость исходного кода между всем и вся - продолжайте осваивать Android SDK ( Java ) .
    По крайней мере, сейчас.
    Хорошее знание хотя бы одного инструмента, лучше чем посредственное знание двух. ;)
    C Qt под Андроид потом разберетесь. Да и "пообкатаннее" оно будет.


    1. Qt - это всё-таки C++. Разрабатывать на нём существенно сложнее, чем на Java. То есть дольше и с большим количеством ошибок.

    Надо отличать "просто С++" и С++\Qt. В первую очередь, Qt - это фактически диалект языка С++. Например в объявлении Qt-класса появляются дополнительные секции signal и slots, а в процессе сборки существует фаза мета-компиляции, которая делает C++ код под вашу платформу. Не удивлюсь, если для андроида генерируется сместь Java и C++ кода которая потом скармливается Android NDK.

    Во вторых, Qt - это _самодостаточный_ фреймворк. Никаких STL или "чего-что-ещё что представляют себе в комплекте с C++" типичные сторонние разработчики.
    Многих проблем, которые приводят к сложности разработки "на простом C++" в "С++\Qt" просто нет "by design".

    Например в Qt заложен замечательный механизм предотвращения от выхватывания "null-poiunter" - "сигнал-слоты". Это в разы упрощает и делает надежнее работу как с GUI, так и с например, объектами, работающими в разных потоках. В Qt это все сделать разы проще, чем городить аналогичные стандартные механизмы на Java. Я не говорю в итоге оно будет эффективнее - тут надо выяснять и можно поспорить - но вот то, что в Qt многие вопросы работы с потоками и межпоточным взаимодействием продуманы лучше а механизмы удобнее - на мой вгляд это факт.
    (Хотя вот такого классного механизма аки runnable, в Qt нет. Но ждем 11-го стандарта С++.)

    В третьих - "С++\Qt" - это хорошо продуманный фреймворк едва-ли не с лучшим дизайном классов, продуманными методлами, единым стилем решения проблем.

    Как человек писавший на Qt 4.0-4.6 и сейчас закончивший первывый коммерческий проект для Android - могу выставить в сторону Java много минусов (в сравнении с Qt4/Qt5.) Просто потому, что Java - как в первую очередь коммерческая технология, был вынужден набирать нелогичности ради совместимости с предыдущими версиями - едва-ли не из первых версий Java. Посомтрите вопросы к сертификации - много вопросов, которые когда начинаешь разбирать "почему так" - уходят корнями в далекое темное прошлое развития Java. И в итоге - современная Java - это часто нелогичное, лоскутное одеяло, где в разных классах для решения одной и той-же задачи применяется если не разный подход и стиль, то как минимум разные имена методов. Ну вот зачем это?)))

    Да Java детально описан, и в технически прогнозируем - но его надо зубрить, тупо зубрить все исключения и проблемы наследования логики первых версий, и зубрить где используется put(), а где add()....
    ... а Qt-можно _понять_ и не зубрить, понять и только изредка заглядывать в документацию. И в итоге писать на нем - легче.

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

    Ещё к слову про миф "на Java писать проще чем на C++"(если сравнивается Java под DalvikVM и C++\Qt5):
    Не забывайте - DalvikVM - это вам не JavaVM.
    В DalvikVM вы легко отхватите "null-pointer-exception" если вы вдруг наивно думаете, что коли у вас есть в локальной переменной ссылка на фрагмент, активити или вью - то машина не уничтожит объект "когда ей вздумается", а у вас ваша переменная не об-null-ится.

    На понимание того, какие привычки десктопного написания и дизайна приложений нельзя переносить во фреймворки Android SDK и на перестройку собственного мышления - у вас уйдет несколько месяцев. А вы _начнете_ это понимать и отхватывать такие проблемы - как только начнете писать что-то бОольшее, чем набор разрозненных активити да пары фрагментов из учебных курсов.
    И в итоге - первый ваш серьезный проект на Андроиде - может влететь вам в хорошие переработки.
    Например, в том числе и потому что нет в Android SDK v17 жизненного цикла для класса Application. Нет механизмов для созранения состояния singleton-окружения и тд.и тп.

    А когда вы пишете на Qt - у вас гарантирована поддержка единых механизмов для всех платформ.
    Вам не надо перекраивать мозг, выработанные решения и отлаженные и проверенные паттерны.
    В итоге - писать на Qt - может статься и будет быстрее. В ряде случаев.
    Но из Qt - может быть сложно поиметь доступ к сугубо-андроидным сервисам типа поставщика данных.

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

    2. Инструментарий разработки для C++ однозначно хуже такового для Java в силу, опять-таки, особенностей языка.

    Простите, но тоже малообоснованное утверждение. См пункт 1.

    Кроме того, отмечу:
    Qt-шный инструментарий позволяет вам получать одинаковое поведение на всех поддерживаемых платформах. Включая поведение GUI, Форм и одинаковую для всех систем архитектуру приложения. В идеале - с Qt - вы можете писать под Андроид так, как будто вы пишете под десктоп - не меняя архитектуру и структуру приложения.

    А когда вы пишете под Android на Java - вы всегда пишете кусок кода работающий в колнтексте DalvikVM и должны жить по предусмотренным данной машиной паттернам и сценариям, причем многие аспекты того "как это работает" - явно мало где прописаны. И если вдруг вы отсутпаете от стандартных шаблонов фреймворка Dalvik-машины - вы рискуете отгрести непонятные, трудно отловимые косяки, причем _вне_ вашего контроля, которые вы не можете корректно перехватить и обработать. Кто не знает - попробуйте уничтожить ViewGroup, id которого вы использовали как контейнер для размещения внутри него фрагмента. Как только вы делаете FragmentTransaction.commit() - вы ставите машине задачу, которую она будет выполнять "когда-то позже", вне вашего контроля, и не соизволит позволить вам корректно обработать исключение. Вплоть до возникновения ситуации, когда фрагмент пытается быть добавленным в Activity который уже отработал стандартные процедуры по Activity.finush(). Ладно бы оно выкинуло код ошибки куда, и тихо проигнорило - но это же Java - она выкинет исключение. А обернуть это дело в try...catch - вы не сможете - это не ваш кусок кода. Максимум что вы сможете - это "поймать перед смертью" Thread.UncaughtExceptionHandler. И все.
    (если я не прав - поправляйте меня, я же тоже не инженер гугля)

    3. Java - родная платформа для Android. Отсюда потенциальные проблемы с совместимостью у Qt.

    Вот зачем вы занимаетесь запугиванием?
    Android NDK (для разработки на С++) такой же родной как как и Android SDK (для разработки на Java).

    И с совместимостью у Qt с платформой Android проблем не больше, чем у любого другого приложения, которое использует вставки C++ кода и разработано с использованием стандартного Android NDK.

    --------------------------------------------
    Резюмируя: автору надо просто взвесить что зачем и как он собирается использовать.
    Если автору нужно одинаковое поведение на различных платформах - включая огрызочные поделия, Linux, разные Windows RT недопланшеты - то выбор ознозначен - курите Qt. Это возхитительнейший, ясный, хорошо продуманный и максимально логичный фреймворк, который не побоялись пересоздать с нуля ради устранения накопленных сложностей (вспоминайте переход с Qt3 на Qt4) Лично я приходил в восторг, когда работал с ним (2005-2009 гг)

    Но - в части Андроидного приклада : подозреваю, могут быть "технические риски" с использованием каких-либо особых "мобильных кусков" типа "работа со звонками, "работа с контактами", "работа с почтой" или "поставщиками контента", и пр.
    Я отошел от мира Qt когда Qt был 4.8 и я не искал там классы которые этим занимаются. Думаю что-то потомки троллей должны были создать в 5.2, но лучше проверить.
    В крайнем случае - может потребоваться стыковка с джава-объектами, и тут вам потребуется изучать Android NDK, и возможно даже писать немного оберточного кода на Java.

    Если же вам _нужна_ обязательная работа с описанными выше функциями, а на переносимость исполняемого кода - наплевать, или же у вас _уже_ есть опыт разработки с Android SDK - то конечно писать лучше на Java.

    Но в этом случае бутьте готовы к тому, что это не JavaVM, и сохранности ссылок _для_ряда_классов_ вам никто не обещает, а т.к. Java не предполагает наличия деструктора - вы _будете_ иметь определенные архитектурные сложности при построении сложных приложений.
    Например то, что в десктоп-приложении вы решили бы "простым" "синглтон-объектом" с простой функциональностью типа записал-прочитал из файла - тут вам _придется_ решать путем построения "поставщика контента" и т.п. - что значительно повышает "порог входа" для тех кто погруждается в разработку для Android.

    Но - надо отдать должное инженерам гугля - у них _были_ весомые основания поступать итак, и они максимально вас обезопасили от попадания в многие проблемы - если, конечно, вы используете фреймворк именно так, как это предполагается. И сделали многие механизмы достаточно элегантными, и приятными в использовании. Дизайн гуглековских классов мне в большей части нравится. В общем не забывайте понимать почему в примерах делается именно так как делается, а не иначе.
    Ответ написан
    5 комментариев
  • Методологии ПМ для MobileDevelopment (iOS/Android)?

    @dplsoft
    Для начала - читать методологию. Рекоендую RUP 6 (именно 6-й, а не 7-й) в зубы, и вперед.
    или OpenUP ( ru.wikipedia.org/wiki/OpenUP, www.ibm.com/developerworks/ru/library/kroll ).

    Хотелось бы найти:
    — набор этапов разработки;
    — набор категорий задач;
    — шаблон/пример.

    вар.1 Покупайте Rational Method Composer (RMC).
    Там редактор "сайта процессов" с примерами и шаблонами и описанием всех процедур, документов, шаблонов и всего прочего что вам вообще может понадобиться. Идеология применения на практике звучит так: из этого безобразия - надергиваете то, что вам надо _на_этом_ проекте - и получаете описание методики и процеcсов на вашем проекте. С шаблонами документов, инструкциями и описаниями процедур.

    Там и RUP, и Agile-RUP облегченный есть, и даже классический "водопад" с рекомендациями описан. Сейчас может что и для мобильных приложений тоже впилили. Я года 2 как не смотрю что у них творится, но надеюсь, IBM не сильно испохабил творение компании Rational.

    Стоит в принуипе "нехреновых денег", но месяц полнофункционального прогона пр регистрации был бесплатно. IBM щедра как никогда. <_<
    www.ibm.com/developerworks/downloads/r/rup
    www.interface.ru/home.asp?artId=1524
    www.itshop.ru/Dokumentirovanie-i-avtomatizatsiya-p...

    вар.2 Или щупайте его бесплатный эклипсовсий прототип Eclipse Process Framwork . Но там многих шаблонов нет. Зато есть куча своих, от сообщества. Включая пригоршню Agile-процессов, описания XP и тому подобного безобразия.
    www.eclipse.org/epf
    www.ibm.com/developerworks/rational/library/05/101...

    PS Вопрос методологии, принципов. Именно они позволяют выстроить набор всего-всего в нечто осмысленное. Бойтесь в EMC рисовать что своё без понимания хотя бы основ RUP (настоятельно рекомендую именно 6-й, потому что в 7-м введены принципы бизнес-ориентирвоанной разработки, которые технически - совершенно неосмыслены).
    НО! С другой стороны - только EMC (и только он) может сгенериовать вам самое полное описание всех методов и процедур RUP (включая философию и принципы). В общем - сделаете сайт с полным описанием RUP - глядишь и поймете что. А начать можно с википедии ( ru.wikipedia.org/wiki/Rational_Unified_Process ) или вводных статей по OpenUP ( ru.wikipedia.org/wiki/OpenUP, www.ibm.com/developerworks/ru/library/kroll ).

    Не бойтесь первых неудач. У меня на то, чтобы начать "думать итерациями" и не пытаться все прописать и сразу - ушло полгода. На то, чтобы освоить внятную работу c использованием UseCases - ещё несколько месяцев.

    PPS и забудьте про ТЗ ;)
    ТЗ - статический артефакт из темного каскадно-водопадного прошлого.
    Да здравствует итеративное настоящее, дисциплина "управление требованиями" и UseCases ! (трижды "ура") )))
    Ответ написан
    Комментировать
  • Где взять драйвер для Megafon sp-a20i mint?

    @dplsoft
    вот это не поможет? :
    developer.android.com/intl/ru/tools/extras/oem-usb.html
    developer.android.com/intl/ru/tools/device.html

    Мне проще вопросы с разработкой на нонейм-девайсах решать в Linux - там драйверов не надо. Под убунтой есть косяк - надо правило для udev прописать, но и только.

    Под виндоус у меня стоит творение "PdaNet" - pdanet.co/a . Я так понимаю, оно "делает" что-то типа oem-usb драйвера, и в итоге - у меня Explay N1 "увиделся", как я помню, без установки каких-либо собственных драйверов.
    Ответ написан
    Комментировать