Android software engineer
0,0
рейтинг
15 октября 2012 в 14:24

Разработка → AndroidKickstartr — создай современный проект в пять кликов


На днях появился новый веб-сервис, позволяющий в несколько кликов создавать новый проект для андроид со всеми современными вкусностями сторонних библиотек.
Название AndroidKickstartr.com отлично описывает его задачу — максимально быстро и просто сконфигурировать новый проект, добавив туда все самое необходимое.

Создателем проекта является Alexandre Thomas сотрудник группы компаний Excilys, которая является куратором известного проекта открытой библиотеки Android Annotations, повышающей читабельность кода и скорость разработки под андроид.

Сервис путем нехитрой расстановки галочек позволяет сконфигурировать проект, включив в него следующие возможности:
  • Fragment Tabs — навигация в приложении с помощью вкладок
  • Android Annotations — повышение читабельности и упрощение разработки.
  • Spring RestTemplate — простая работа с rest-вебсервисами
  • NineOldAndroids — красивости android 3.0 в более ранних версиях.
  • ACRA — удобный багтрекинг, но я бы лично посоветовал BugSense.
  • ActionBarSherlock — самая известная и удобная реализация ActionBar для Android < 3.0.
  • Android support v4 — стандартная библиотека совместимости, привносящая в ранние версии возможности 3.0 и выше (Fragments и Loaders).


Также в ближайшее время ожидается интеграция:
  • Roboguice 2.0 — путем аннотаций подобно android annotations упрощает написание кода.
  • ViewPager sample — пример использования ViewPager для навигации путем пролистывания фрагментов.
  • ViewPagerIndicator — красивый заголовок, применяемый при использовании ViewPager.


Помимо всего прочего сервис способен сконфигурировать проект для сборки с помощью Maven

Интерфейс сервиса прост и удобен:


А какие библиотеки в своем проекте используешь ты, Хабраюзер?

UPD:
Советуемые пользователями либы:
Android Query — простой REST, ImageLoader, LocationManager и др
HoloEverywhere — тема оформления ICS в ранних версиях
ImageLoader — загрузка/кэширование изображений
DroidParts — все в одном
PullToRefresh — открытая реализация pull-to-refresh обновлялки списков
Денис Неклюдов @nekdenis
карма
34,0
рейтинг 0,0
Android software engineer
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (38)

  • +1
    еще планируется добавить поддержу ActionBar Style Generator, Holo Colors Generator и Android Asset Studio, что было бы вообще замечательно
  • 0
    Думаю кнопка скачать даже не обязательна. Собранные воедино полезные библиотеки, со ссылками на документацию и примеры использования — вот что нужно.
    • +5
      Гораздо удобнее сразу получить готовый проект-шаблон, чем руками добавлять либы и конфигурировать Maven
      • +1
        Я лишь хотел отметить полезность сервиса в целом, даже без такой замечательной возможности как подготовка проекта.
      • +1
        Спорный вопрос, я думаю это дело опыта. Например, создание Андроид проекта из архитипа — дело двух минут, ещё пару минут на добавление зависимостей.
        • 0
          Полностью согласен!
      • 0
        Не думаю, есть хороший артифакт, который создает проект, а потом скопипастить нужные зависимости не сложно.
        Не понимаю почему этот сервис при выборе Maven добавляет исходники ActionBarShertlock, а не добавляет его как зависимость.
        • 0
          наверно из опасений того, что при обновлении шерлока — настроенный проект на старую версию перестанет работать
          • +1
            ну так можно в maven указать версию abs и не использовать новую
  • 0
    Кто еще какие либы посоветует? я бы добавил Android Query
  • +8
    =) Логотип замечательный, пинком отправляет Андроид назад, в прошлое.

    Уж лучше бы R сделали пинающей буквой, хотя бы смысл появился ближе к задумке.
    • 0
      Направление правильное:
      >>>красивости android 3.0 в более ранних версиях.
      >>>самая известная и удобная реализация ActionBar для Android < 3.0.
      >>>стандартная библиотека совместимости, привносящая в ранние версии возможности 3.0 и выше
    • +2
      Андроид гордая птица…
  • 0
    Когда еще этого проекта не было собрал свой pom.xml со всеми мастхев зависимостями. Вот линк gist.github.com/3096710

    Хотелось бы видеть в этом проекте фреймворк для тестирования Roboelectric и библиотеку для отображения и кеширования картинок из интернета github.com/novoda/ImageLoader/
    • 0
      для картинок я юзаю упомянутую выше aquery — очень просто и быстро
      • 0
        Хорошая библиотека, но меня пугает такое api
  • 0
    Это что-то вроди cocoapods.org/?
    В папке с проектом пишем файлик 'podfile' со списком сторонних проектов, которые бы хотели видеть в проекте, дергаем pod install и воуля — магия дружды скачивает исходники с github (обычно) и распихивает в отдельный подпроект, а на выходе получаем либу с хидерами, которая автоматом прилинковывается к нашему проекту. Добавлять свои «поды» может любой желающий. Пользуюсь уже очень давно. Да и хорошо дружить с системами контроля версий — добавляем только этот самый подфайл в репозиторий и все. Чисто, быстро, аккуратно :)

    Теперь, я так понимаю, и у наших маленьких зеленых друзей тоже появилось нечто похожее?
  • +1
    > А какие библиотеки в своем проекте используешь ты, Хабраюзер?

    DroidParts, здорово экономит время.
    • 0
      Не нашел документации к ней толковой. Только почти пустая страничка с кратким описанием…
      • 0
        Уже есть мануал в процессе написания на droidparts.org и пара работающих приложений в /sample. Из последних лучше начать с DroidPartsGram, там всё просто.
        • +1
          Интересная библиотека, спасибо. Фидбек:
          1. Неудобны перекрытые стандартные именования классов
          public class Activity extends android.app.Activity
          Что с одной стороны приводит к путнице с другой стороны — не дает ровным счетом ничего
          2. Нет поддержки фрагментов без использования Шерлок
          3. Запутанная структура каталогов (одинаковые именования папок с библиотеками и примеров (например папка legasy))
          4. Не удалось запустить пример легаси в idea
          (какой то ад с org.droidparts.R; у меня сорвало мозг в итоге)
          5. Нет простых примеров как например было в гриндроид( работа с сетью, загрузка изображений)
          6. Небрежность в именовании классов в совокупности с отсутствием комментариев
          типа есть RESTClient2 и RESTClient
          7. Сложность расширения
          Например я делаю класс RestActivity абстрактным, чтобы его можно было расширять и было видно что перекрывать
          А в класс RestService добавляю Интерфейс для кастомных запросов, чтобы если понадобится какая то сложная логика типа аплоада фоток на вконтакте можно было легко ее имплементировать, а если нет — ничего трогать не надо, тут я такого не увидел, или не понял как это реализовывать
          8. Матрешки в коде
          Либы, завязаннные на разные версии сдк, завзываются друг на друга в итоге что-то вроде
          Activity extends android.app.Activity
          Activity extends org.droidparts.Activity
          Причем пакеты во всех либах названы идентично (org.droidparts) Что в итоге окончательно сносит мозг — классы названы одинаково, пакеты одинаково, папки одинаково — где что — не разобраться без прочтения всех исходников всех библиотек
          9. Какие то странные слабодокументированные зависимости от наличия в манифесте чего то там + какие то зависимости от конфига прогвард который лежит непойми где так как все папки названы одинаково и вложены друг в друга, классы названы одинаково, пакеты одинаково ну и так далее
          10. Вобщем мне показалось что можно сделать тоже самое напорядок проще и в разы универсальнее без ковыряния в сорцах дроидпартс
          11. На уровне ощущений создалось впечатление что как то много сделано запутано, много нерасширяемо и при этом довольно жестко связано друг с другом
          Тем не менее библиотека показалась мне интересной и перспективной. Удачи в развитии
          • +1
            Спасибо за фидбек.
            1. Сначала классы имели префикс DP, т.е. DPActivity, но я быстро отказался от этой идеи, т.к. Objective-C-style и вообще есть в urbandictionary. (: Называть вроде DroidPartsActivity — тоже неочень.
            Текущий вариант — дело правильного выбора при autocomplete. Плюс — нет визуального мусора.
            2. Уже есть: droidparts-modern-native
            3. В версии 0.8.5 переименованы для удобства пользователей Idea. В Eclipse такой проблемы нет.
            4. Навскидку, текущая версия в Idea 12 импортируется. Более подробно не занимался, т.к. то, что Idea делает с Android library-проектами, выносит мозг уже мне.
            5. Да, это TODO. Сам функционал есть в примере DroidPartsGram, пока нужно читать код.
            6. Небрежность — хм. RESTClient2 наследует RESTClient и добавляет фунционал. По-моему, логично.
            7. Не понял идеи и проблемы если честно. Какие ограничения вносит droidparts? Можно на SO: stackoverflow.com/questions/tagged/droidparts
            8. Тут накладывается видение структуры проекта Idea. Корневой package name всех модулей — да, одинаковый.
            9. Кофиг в Manifest уже документирован
            В общем, да, нужно уделить больше внимания описанию особенностей.
            Спасибо!
            • 0
              По поводу (1) — Obj-C, не Obj-C, всеравно это хороший подход, дабы не ограничевать пространство имен для конечного пользователя. Сам в своих проектах всегда добавляю свой префикс. Две-три лишних заглавных буквы значительно повышают читабельность и возможность повторного использования.
          • 0
            6. Небрежность в именовании классов в совокупности с отсутствием комментариев
            типа есть RESTClient2 и RESTClient
            Майкрософт в ActiveX/COM использует такой же подход. До 4х местами цифры доходят.
          • 0
            Реквистирую фишек по моей библиотеки: github.com/serso/android-common, можно ответить здесь: habrahabr.ru/qa/25939
            • 0
              *фидбек =)
  • 0
    Пересмотрел все, слишком уж много эти комбаины на себя берут/на себя тянут
    В итоге написал свою)
    github.com/recoilme/recoilme
    — rest api простая работа с вебсервисами (get post put delete на расслабоне)
    — asyncimageview — либа для работы с изображениями на базе greendroid допиленная до ума
    Планирую потихоньку переносить в нее остальные наработки
  • –3
    В своих проектах (iOS) использую:
    'BlocksKit' — musthave
    'MTStatusBarOverlay'
    'JSONKit' — musthave
    'QuickDialog'
    'SVPullToRefresh'
    'JWFolders'
    'RegexKitLite' — musthave
    'SDWebImage'

    Эти сторонние проекты здорово экономят время разработки и достаточно стабильны.
  • 0
    Кстати, что вы используете для PullToRefresh?
    • +1
      Я пользуюсь этим. Выбирал из 3ёх, этот показался мне самым удобным/продуманным, проблем при работе на наблюдал.
    • 0
      А я этим, тоже удобная штука.
      • 0
        Это одно и то же, просто я clone указал =)
  • 0
    А что насчет работы с соцсетями? и oAuth?
  • 0
    Что то никак не хочет стартовать.
    Если берешь неполную версию без поддержки 4ой версии — мрёт сразу на экшен баре, так как он ее использует.
    Если качаю полную версию, то при построении мрёт на ошибке с библиотекой аннотаций —
    Unable to load annotation processor factory '/NeverDroid/ext-libs/androidannotations-2.6.jar' for project com.volhovec.test.app.MainActivity_ com.test.neverdroid.app.MainActivity_ Annotation processor factory path APT Build Problem

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