間違いなく自分は意識が低い側のデベロッパーであるため、勉強会に出ることはあっても社外のエンジニアに積極的に絡みにいくこともないし、普段から技術共有をしてるわけでもないので、気がつけばあっという間に自分の知らないライブラリが常識化してたりとか、ガラパゴス実装をしてしまいがちです。

そんな中でも何とか最新情報をある程度知るためには

- 気になったアプリのオープンソースライセス情報を見て、使ってるライブラリを調べてみる
- Githubで公開されているAndroidプロジェクトを見る

といった方法をよく使っているわけですが、その中でも自分がAndroidアプリ開発の際に、よく参考にしているプロジェクトを紹介しようと思います。
当然ながらいくら公開されたプロジェクトとはいっても、更新されていなければどんどん陳腐化していくし、過去の遺産のような実装方法が生き続けて行く場合があるので、積極的に新しいプロジェクトを探したりする必要はあるのですが。


google/iosched

Google IO公式スケジュールアプリ「iosched」のソース。
当然Googleがメインで作っているので、主にコーディング規約的な部分とか、パッケージの切り分けとかの参考に使っています。

最大の難点は、アプリ自体のリリースが去年のGoogleIO直前で、ソース公開はIOのちょっと後ということで、android studio(gradle)のビルド構造のようでそんな感じでもない、なんか不思議なところがあったりとか、そもそも細かい実装方法はそれ、もう1年前の技術だよ、みたいなところがあるので、上に書いたようにコーディング規約的なサンプル以外では、いまのところ参考にしきれないところがあります。

そんなioschedですが、現在2014年版がリリースされましたので、これのソースがもうじき公開されるはずです。それこそ利根川AAのように「その気になれば〜」レベルで公開が遅れることもありますが。

なお、昔はGithubでなくgoogle code上での公開ということもあってか、「github iosched」で検索すると、当時のソースをGithubに持ってきてくれた、第三者のプロジェクトがいっぱい出て来るので注意です。


JakeWharton/u2020

android関連のプラグイン、ライブラリでお馴染みJake Wharton神のandroidプロジェクト。
中身自体は本人の関わりあるライブラリの実装サンプルになっているため、関連のライブラリの実装方法の参考にも使えます。


rejasupotaro/Rebuild

@rejasupotaroさん作成のRebuild.fm非公式アプリ+αのプロジェクトです。
間違いなくrejaspoさんは自分より技術意識の高いデベロッパーなので、積極的に新しい技術を取り入れて作られている部分もありますし、通信周りとか(特にデータダウンロードとか)やUIのひと通りの実装が入っているので非常に参考になります。


と3つほど紹介しましたが、実際のところ、ライブラリと違ってアプリ関係になると、やはり爆速開発よりの「作ってみた」系のプロジェクトが多く、テスト周りも含めてガッチリ作りこんで(なおかつ開発が続けられている)プロジェクトというのは、あまり見かけません。

あ、あと一応Githubの公式クライアントのソースもGithubで公開されているんですが、大体ここで書いてあることは、上のプロジェクトでも見れるし、プルリクもいっぱい放置されていて「うーん」という感じです。

github/android


他にも「コレは参考になりますよ」っていうGithubで公開されているandroidプロジェクトの情報提供お待ちしています。別にBitbucketとかでもいいですよ!
[PR]
by yamacraft | 2014-06-18 22:30
先日なにかの手違いでAndEngineのForkを作っていたんですが、せっかくなのでGradleをつけてMavenリポジトリにも対応させてみました。

yamacraft/AndEngine at addGradle

追加方法
repositories {
maven { url 'https://raw.github.com/yamacraft/AndEngine/addGradle/repository' }
}
dependencies {
compile 'AndEngine:AndEngine-lib:1.0.0'
}


これで後は通常通り使ってもらえれば大丈夫なはずです。
まだキチンとできているのか不明なので、本家にプルリクエストする予定は未定です。
その他のプラグインのGradle+Mavenリポジトリ化は、自分の必要に応じて追加します。

あとGradle対応+Mavenリポジトリ化は別途記事にします。

決め事
バージョンは本家のバージョン+パッチバージョンで表記

注意
Android Studioではassetsリポジトリが標準でないので、作る必要があります。
rootディレクトリ
+build
+libs
+src


この階層にassetsフォルダを作成して、build.gradleのandroid{}内に
sourceSets{
main{
assets.srcDirs = ['assets']
}
}

と入れておきましょう。
これで各種assetsからファイルを読み込む処理ができるようになると思います。
[PR]
javascriptの知識が疎いのと、最近AnglarJSがアツいということで、webcrow辺りの無料サーバ使おうかと思っていましたが、そういえばGithub Pagesなんてものがありましたね。

GitHub Pages
http://pages.github.com/


というわけで作ってみました。

yamacraft.github.io
http://yamacraft.github.io/


AngularJS使ってATNDbetaの検索APIを叩くやつも置いてありますが、まだα版で動作がおかしいです。

ついでにCSSフレームワークをいろいろ使って自分に合うCSSを見つけたいなあと思いました。
出来る限りシンプルで、レスポンシブというよりスマホサイト第一で作れるやつがいいかなと。
まだそういった使い方はできてないですが、Kubeというフレームワークが自分に合いそうな感じがしました。

Kube — professional CSS-framework
http://imperavi.com/kube/

[PR]
by yamacraft | 2014-03-14 22:30 | いろいろ