「Xcode 4 入門 for iOS/Mac OS X」 [プログラミング]
iPhoneアプリケーションプログラミングを以前から行っている方はXcode3からXcode4に変わったときに驚かれたと同時に戸惑われたのではないでしょうか。私はまるでeclipseに合わせたのかと思いました(VisualStudioもシングルウィンドウ方式ですが、見た目がなんとなくeclipseに似ていたもので)
iPhoneやMacのアプリケーション開発をご存知ない方にもわかりやすく言うとXcode3はエディタが複数立ち上がるマルチウィンドウ方式の開発環境でした。ページを複数閲覧する際複数のウィンドウが起動する少し前のブラウザに似ていますね。
これに対し最近リリースされたXcode4は1つのウィンドウの中でタブを切り替えながら使うシングルウィンドウ方式に変更になりました。最近のブラウザもタブで切り替えるようになっているという意味で同様ですよね。
個々の機能はXcode3もXcode4もあまり違わないのですが、ところどころ指定方法や起動方法が違い、かなり戸惑いました。時間をかければ慣れてくるとは思いましたが、その時間をかけるのも惜しいと思い本書を購入しました。
本書ではObjective-Cに関する記述はほぼ皆無で、Xcode4の使い方に絞って解説しています。Xcode3利用者が困らないような配慮もあって、わりと簡単にキャッチアップできました。
また、Xcode3では日本語メニューが提供されていましたが、Xcode4では日本語化されない模様です。そうした意味でも慣れるのにはちょっと時間がかかりました。その時間を本書で短縮できると思えば安いものです。
もちろん新規にXcode4を利用する方も、本書があればどこからはじめて、どんな機能があるのかがわかりますからきっと役にたつと思います。
なかなかXcode4に特化した書籍はありませんから貴重な内容ですよ。
iPhoneやMacのアプリケーション開発をご存知ない方にもわかりやすく言うとXcode3はエディタが複数立ち上がるマルチウィンドウ方式の開発環境でした。ページを複数閲覧する際複数のウィンドウが起動する少し前のブラウザに似ていますね。
これに対し最近リリースされたXcode4は1つのウィンドウの中でタブを切り替えながら使うシングルウィンドウ方式に変更になりました。最近のブラウザもタブで切り替えるようになっているという意味で同様ですよね。
個々の機能はXcode3もXcode4もあまり違わないのですが、ところどころ指定方法や起動方法が違い、かなり戸惑いました。時間をかければ慣れてくるとは思いましたが、その時間をかけるのも惜しいと思い本書を購入しました。
本書ではObjective-Cに関する記述はほぼ皆無で、Xcode4の使い方に絞って解説しています。Xcode3利用者が困らないような配慮もあって、わりと簡単にキャッチアップできました。
また、Xcode3では日本語メニューが提供されていましたが、Xcode4では日本語化されない模様です。そうした意味でも慣れるのにはちょっと時間がかかりました。その時間を本書で短縮できると思えば安いものです。
もちろん新規にXcode4を利用する方も、本書があればどこからはじめて、どんな機能があるのかがわかりますからきっと役にたつと思います。
なかなかXcode4に特化した書籍はありませんから貴重な内容ですよ。
「プログラミングWindows Phone (MSDNプログラミングシリーズ)」 [プログラミング]
iPhoneアプリ、そしてAndroidアプリを実装してきた私にとっては3つ目のスマートフォンアプリ開発の挑戦です。
そして・・・なぜだろう。一番苦しんでいます。今一つぴんとこない。iPhoneとAndroidは言語などは違えど、”ここはこんな感じでやればいいんだ”と両方で同じようなことができた。それがWindows Phoneでは何かが違う・・・。
なぜだ、この本を読みこんでいます。
Windows Phone SDKではすべての画面要素をSDKで用意していない部分があります。
Windows Phone Silverlight Toolkitというオープンソースで画面要素を提供しています。
これを参考に、再度わからない部分を本書で確認する。この繰り返しでやっと少しずつ見えてきた感じです。
SilverlightやC#、,NETプログラミングになれている人にとっては簡単なのかもしれませんが、Androidから移ってきた私には敷居がちょっと高いです。
ちなみに、画面部品を並べるだけのものでは物足りない、ゲームプログラミングや独自で描画部分を制御したい!という方は上記書籍に加え(ゲームだけなら上記書籍ではなく)
を参考にするとよいでしょう。ゲームプログラミングではSilverlightではなく、XNAというテクノロジを使います。
まったく別なんですね。
ただWindows Phone 7.5では1つの画面内でSilverlightとXNAを共存させるということもできるようになっています。それぞれ良いところと弱点を持っています。最終的には両方を適切に使い分けていくことが必要です。
本格的にWindows Phone 7.5アプリケーションを開発しようという方は両方入手されるとよいでしょう。
そして最後に・・・やっぱりC#をちゃんと理解していないととてもソースコードは追えません。
こちらの書籍も必要になってきます。必要に応じて入手してください。
合計で約1万円也
そして・・・なぜだろう。一番苦しんでいます。今一つぴんとこない。iPhoneとAndroidは言語などは違えど、”ここはこんな感じでやればいいんだ”と両方で同じようなことができた。それがWindows Phoneでは何かが違う・・・。
なぜだ、この本を読みこんでいます。
Windows Phone SDKではすべての画面要素をSDKで用意していない部分があります。
Windows Phone Silverlight Toolkitというオープンソースで画面要素を提供しています。
これを参考に、再度わからない部分を本書で確認する。この繰り返しでやっと少しずつ見えてきた感じです。
SilverlightやC#、,NETプログラミングになれている人にとっては簡単なのかもしれませんが、Androidから移ってきた私には敷居がちょっと高いです。
ちなみに、画面部品を並べるだけのものでは物足りない、ゲームプログラミングや独自で描画部分を制御したい!という方は上記書籍に加え(ゲームだけなら上記書籍ではなく)
を参考にするとよいでしょう。ゲームプログラミングではSilverlightではなく、XNAというテクノロジを使います。
まったく別なんですね。
ただWindows Phone 7.5では1つの画面内でSilverlightとXNAを共存させるということもできるようになっています。それぞれ良いところと弱点を持っています。最終的には両方を適切に使い分けていくことが必要です。
本格的にWindows Phone 7.5アプリケーションを開発しようという方は両方入手されるとよいでしょう。
そして最後に・・・やっぱりC#をちゃんと理解していないととてもソースコードは追えません。
こちらの書籍も必要になってきます。必要に応じて入手してください。
合計で約1万円也
「図解入門よくわかる最新ソフトウェア開発の基本」 [プログラミング]
たまには初心にかえって、基本中の基本から読みなおしてみよう、ということで本書を入手。
何か少しは基本部分で変わっているところってあるのかなーと思っていましたが特になし。
というか、プロジェクトの進め方がいまだにウォーターフォール型をメインに書かれているのにびっくり。
確かに古い方々がなかなかウォーターフォール型以外を受け付けず、日本ではまだまだ多いとは聞いていましたが・・・、実際にはアジャイルとはいかないまでもイテレーション開発もだいぶ浸透してきているのではないかと思っていたので・・・。アジャイル的なプロジェクトマネジメントはほんの少ししか書いてなかったです。
(昔からの契約のやり方ではウォーターフォールにならざるを得ないのかもしれませんが、今はそのウォーターフォール型がビジネスの早期推進の阻害要因になっているような気がしてならないのです)
ま、なにはともあれ、昔からおなじみの内容で今のプロジェクトマネージャのもとで仕事をしなければならない新人さん等にはこれくらいの内容であたりさわりがなくてよいのかもしれません。
(でも「最新技法」というタイトルには無理があるな・・・ぜったい最新ではない)
何か少しは基本部分で変わっているところってあるのかなーと思っていましたが特になし。
というか、プロジェクトの進め方がいまだにウォーターフォール型をメインに書かれているのにびっくり。
確かに古い方々がなかなかウォーターフォール型以外を受け付けず、日本ではまだまだ多いとは聞いていましたが・・・、実際にはアジャイルとはいかないまでもイテレーション開発もだいぶ浸透してきているのではないかと思っていたので・・・。アジャイル的なプロジェクトマネジメントはほんの少ししか書いてなかったです。
(昔からの契約のやり方ではウォーターフォールにならざるを得ないのかもしれませんが、今はそのウォーターフォール型がビジネスの早期推進の阻害要因になっているような気がしてならないのです)
ま、なにはともあれ、昔からおなじみの内容で今のプロジェクトマネージャのもとで仕事をしなければならない新人さん等にはこれくらいの内容であたりさわりがなくてよいのかもしれません。
(でも「最新技法」というタイトルには無理があるな・・・ぜったい最新ではない)
「Scalaスケーラブルプログラミング第2版」 [プログラミング]
Scala (スケーラブルプログラミング) の第2版が出版されてますね~。第1版から2年が経過し、関数型言語もだいぶ注目を浴びてきています(私自身、その特徴をまだ十分理解していないのですが・・・)。そろそろ本格的出番が近づいているかも!?
「Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)」
Javaの次の世代の言語とも呼ばれるScala。その本格的な解説本です。
初級者から実際に利用している方まで満足されるような内容、ということでちょっと難しいところもあるかもしれません。
私自身もScalaは実際にはコーディングしたことはありません。が、読んでいて「これは結構いいかも」と思えるような言語です。ビジネスでの適用となるとまだまだ制約があるかもしれませんが、言語としては「いい!!」って感じ。
こんなことを感じたのはJavaが登場したときくらいでしょうか。
将来の主力言語の1つになりそうな予感。
基本的にJava VM上で動くことをベースとしていますが、実は.NET環境上でも動くものがあるようです。
(そのあたりもちゃんとカバーした内容です)
.NET派なあなたでも十分手にとる価値があると思いますよ。
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)作者: Martin Odersky出版社/メーカー: インプレスジャパン発売日: 2009/08/21メディア: 単行本
「Enterprise JavaBeans 3.1 第6版」 [プログラミング]
Java SE 7 ついに登場です [プログラミング]
Java SE 6からずいぶんと時間が経過した気がします。ついにJava SE 7登場です。
Fork/Joinとかネットワーク機能、セキュリティ機能、モニタリング機能は早々にキャッチアップしたほうがよいかな??
ところでAppleがMac OS XのJavaサポートを取りやめたため、今回からリリース対象にMac OS Xは入っていません。ここはOpen JDKでカバーすることになるんだけど・・・
MacBook Air/Lionを購入する際、このあたりの動向ももう少しチェックしておいたほうがよさそうかな。
Fork/Joinとかネットワーク機能、セキュリティ機能、モニタリング機能は早々にキャッチアップしたほうがよいかな??
ところでAppleがMac OS XのJavaサポートを取りやめたため、今回からリリース対象にMac OS Xは入っていません。ここはOpen JDKでカバーすることになるんだけど・・・
MacBook Air/Lionを購入する際、このあたりの動向ももう少しチェックしておいたほうがよさそうかな。
「オブジェクト指向でなぜつくるのか 第2版 知っておきたいOOP、設計、関数型言語の基礎知識」 [プログラミング]
これからソフトウェア開発をやろうという方々は何故「オブジェクト指向」でつくるのか、なんて考えないんでしょうね。基本的にはメインの開発言語はオブジェクト指向言語でしょうし、他の方法(構造化プログラミング)なんてほとんどみたことないでしょうから。
最初に構造化プログラミングから習った私たちにとっては、なぜ「オブジェクト指向」なのかは結構重要なことでいろいろ勉強したものです。その過程でフレームワークとかデザインパターンの重要性を理解したり、オブジェクト指向分析を試みたり・・・。
そうした過程を経ないでオブジェクト指向開発をされる方にとっては本書はとても大切な教科書になると思います。なぜって、オブジェクト指向に至った過程にこそオブジェクト指向を採用する意味があり、本質があるのですから。何もわからずにソフトウェア開発を行うよりも何十倍も理解できるようになると思いますよ。
そして・・・次世代言語とも考えられている関数型言語とはどんなものなのかもついでにさわりを覚えてしまいましょう。構造化プログラミングからオブジェクト指向に移行するさいに壁があったように、オブジェクト指向から関数型言語に移行する際にも壁がありそうですから。
最初に構造化プログラミングから習った私たちにとっては、なぜ「オブジェクト指向」なのかは結構重要なことでいろいろ勉強したものです。その過程でフレームワークとかデザインパターンの重要性を理解したり、オブジェクト指向分析を試みたり・・・。
そうした過程を経ないでオブジェクト指向開発をされる方にとっては本書はとても大切な教科書になると思います。なぜって、オブジェクト指向に至った過程にこそオブジェクト指向を採用する意味があり、本質があるのですから。何もわからずにソフトウェア開発を行うよりも何十倍も理解できるようになると思いますよ。
そして・・・次世代言語とも考えられている関数型言語とはどんなものなのかもついでにさわりを覚えてしまいましょう。構造化プログラミングからオブジェクト指向に移行するさいに壁があったように、オブジェクト指向から関数型言語に移行する際にも壁がありそうですから。
OpenIDとOAuthのわかりやすい解説:Google I/O 2011 [プログラミング]
Google I/O 2011終了後1か月以上経過しているというのにまだ観終わっていません・・・。
今回はAuthentication & Authorization関係。「Google I/O 2011: Identity and Data Access: OpenID and OAuth」。事例はGoogleのサービスですが、OpenIDやOAuthがどういったものか、何のためのものなのかが非常にわかりやすく解説されていると思います。
OpenIDもOAuthもどちらもいろいろな面で興味があるので、ついつい観てしまった。
今回はAuthentication & Authorization関係。「Google I/O 2011: Identity and Data Access: OpenID and OAuth」。事例はGoogleのサービスですが、OpenIDやOAuthがどういったものか、何のためのものなのかが非常にわかりやすく解説されていると思います。
OpenIDもOAuthもどちらもいろいろな面で興味があるので、ついつい観てしまった。
Android SDKもかなり改善されました [プログラミング]
Google I/O 2011のセッション、「Android Development Tools」をみるとADKもかなり改善されましたね。
レイアウトエディタは1年前のものとは違うものですよ。1年前は結局XMLを直接更新したほうが早いケースが多々ありましたし、stringsやdimensionsとは切り離されている感があった。それが今はすべて統合されたエディタになっています。なんといってもレイアウトエディタレベルでのリファクタリングができるのはかなり大きい。これは本当に商用レベルのエディタといってもいいですね。
デバッグ環境も改善されているようです。先日のメモリリーク発見法だけでなく、Eclipse内でかなりいろいろな情報が参照できる。さっそく使うようにしようと思います。
レイアウトエディタは1年前のものとは違うものですよ。1年前は結局XMLを直接更新したほうが早いケースが多々ありましたし、stringsやdimensionsとは切り離されている感があった。それが今はすべて統合されたエディタになっています。なんといってもレイアウトエディタレベルでのリファクタリングができるのはかなり大きい。これは本当に商用レベルのエディタといってもいいですね。
デバッグ環境も改善されているようです。先日のメモリリーク発見法だけでなく、Eclipse内でかなりいろいろな情報が参照できる。さっそく使うようにしようと思います。
GAE/JやAndroidでGoogle APIを使うベストプラクティス [プログラミング]
Google I/O 2011 より「Best Practices for Accessing Google APIs on Android」
現在β版ではあるそうですが、Google APIのJavaライブラリ『Google APIs Client Library for Java』というものがあるそうです。
JSONやXMLをラップして、OAuth1.0/2.0やClient Loginの認証までやってくれて、お手軽に使えますよってものになっている模様。RESTのAPIはもともとありかつJavaScript版のAPIはすでにあるのだから、いくらJavaライブラリがβ版だったとしても結構完成度は高そうな気がします。
ところでこのJavaライブラリ、複数のHTTP libraryに対応しています。(詳しくはビデオの9分25秒過ぎからをご覧ください)
・Url Fetch (GAE/J)
・java.net.URLConnection
・Apache Http Client
この解説のところで、記載されているのですがAndroidプラットフォームで推奨されるHTTP libraryがバージョンによって違うそうです。
Android2.2(Froyo)まではApache Http Client
Andorid2.3(Gingerbread)以降はjava.net Client
この違いの理由は本Javaライブラリのwikiに記載されていました。Froyoまではjava.netのほうのHttpClientはbuggyだったけど、Gingerbread以降は改善されたからなそうな・・。
こういった違いはほとんど情報として挙がってこないので貴重ですね。
ちょっと次回以降の実装では参考にさせてもらおう・・・。
そのほかはとりあえずビデオを見てもらうほうがよさそうです。Google APIに興味のあるJavaプログラマはぜひご覧ください。
現在β版ではあるそうですが、Google APIのJavaライブラリ『Google APIs Client Library for Java』というものがあるそうです。
JSONやXMLをラップして、OAuth1.0/2.0やClient Loginの認証までやってくれて、お手軽に使えますよってものになっている模様。RESTのAPIはもともとありかつJavaScript版のAPIはすでにあるのだから、いくらJavaライブラリがβ版だったとしても結構完成度は高そうな気がします。
ところでこのJavaライブラリ、複数のHTTP libraryに対応しています。(詳しくはビデオの9分25秒過ぎからをご覧ください)
・Url Fetch (GAE/J)
・java.net.URLConnection
・Apache Http Client
この解説のところで、記載されているのですがAndroidプラットフォームで推奨されるHTTP libraryがバージョンによって違うそうです。
Android2.2(Froyo)まではApache Http Client
Andorid2.3(Gingerbread)以降はjava.net Client
この違いの理由は本Javaライブラリのwikiに記載されていました。Froyoまではjava.netのほうのHttpClientはbuggyだったけど、Gingerbread以降は改善されたからなそうな・・。
こういった違いはほとんど情報として挙がってこないので貴重ですね。
ちょっと次回以降の実装では参考にさせてもらおう・・・。
そのほかはとりあえずビデオを見てもらうほうがよさそうです。Google APIに興味のあるJavaプログラマはぜひご覧ください。




















