2014/05/28 エンジニア

無料講座でiPhoneアプリ開発の実践的な知識を習得可能!

無料講座でiPhoneアプリ開発の実践的な知識を習得可能! 最近A-STARが始めたiPhoneアプリ開発スクールなるものを体験してきましたので、レポートさせていただきます。ディレクター、デザイナー、他業種エンジニア向けにアプリ開発の基礎が学べるらしいです。

A-STARスクール https://school.agency-star.com/

講師はつい最近まで渋谷の大企業で活躍していたエンジニアとの事。
基礎もそうですが、実際の業務の流れに沿った学習が可能であるとか。

何よりも特徴的なのは、このA-STARスクール。

特定の条件を満たすと受講料がなんと無料です!!!

20コマ近くあるクオリティの高い授業を無料で受けられる。
想像を絶するような過酷な条件をクリアしないといけないようなイメージがありますが。条件は至ってシンプル。

A-STARを通して就職・転職する事

これだけです!!!
しかもA-STARの専門スタッフが物凄くがっつりと転職をサポートしてくれるそうです!!

至れり尽くせりですね!

とりあえず煽りはこの辺にして、実際に講義内容のレポートをさせていただきたいと思います。
 

実際の講義内容

ちなみに筆者はHTMLとCSS、ほんの少しだけjavascriptが書ける程度の駆け出しコーダーです。
この手持ちスキルで一体どこまで通用するのでしょうか。

講師の中山さんいわく、筆者手持ちのスキルでもアプリを作る事は可能だとか。

そんなバカな・・・・と半信半疑ながらもとりあえず講義スタートです。
 

Xcodeでプロジェクト作成

最初に作成するアプリの外側を用意するとの事。
難しそうな感じでしたが、ドラッグ&ドロップでWebViewと言うオブジェクトを乗せるだけでした。



 

マークアップで画面作成

次にマークアップで画面を作成していきます。
Webサイトを作るのと同じ要領で簡単に書いていきます。



こんな感じでしょうか、特徴的なところでいえば<a>タグのプロトコルをiOSが認識できるように独自の設定をするとのこと。
 
<a href="hybridapp://camera">
<a href="hybridapp://cameraroll">

つまり<a>タグのタップでカメラとカメラロールを起動するために、<a>タグからのリクエストをiOSで認識する必要があるわけですね。
上記の独自プロトコル(任意で名前設定)はそのための記述なんですね。

なるほど!

そしてカメラ等のネイティブ機能へのアクセスはObjective-Cの出番だそうです。
 

Objective-Cで機能実装

まずは先ほどの<a>タグリクエストを受け取って色々やる機能が必要です。
[url.scheme isEqualToString:@"hybridapp”]

順序が逆なような気もしますが、ここで先ほどの<a>タグのプロトコルを設定しています。
任意で名前を付けてもかまいませんが、意味不明にならないよう気を付けましょうとの事です。
 
[url.host isEqualToString:@"camera”]

そしてURLが「camera」だった場合はカメラ(ネイティブの機能)を起動する。
カメラ、カメラロールを起動する事がたったこの一行だけで可能にしてしまうなんで恐ろしいですね。
 
UIImage * editedImage = [info objectForKey:UIImagePickerControllerEditedImage];

カメラロールから選択された写真や、カメラで撮影した写真をこの一文で取得できるらしいです。
一文ですぐに実装できる機能が最初からたくさん用意されているとの事。

続いて取得した画像をjpeg方式に変換します。
 
NSData* jpgData = [[NSData alloc] initWithData:UIImageJPEGRepresentation(editedImage, 1.0f)];

さらにjpeg方式に変換したものをbase64形式に変換します。
 
NSString* jpg64Str = [jpgData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];

ちなみにbase64形式はご存じでしょうか?
メールなどによくつかわれていて、画像のバイナリデータを文字コードにエンコードしている方式です。
 

止めのJavaScript

[self.webView stringByEvaluatingJavaScriptFromString:@“result_camera('data:image/jpeg;base64, [BASE64]’)”];

先ほど変換した画像データをJavaScriptに渡します。
ただresult_cameraと言う関数はまだ無いので、用意する必要があります。
 
function result_camera( imgBase64 ){
    var img = document.getElementById("camera_img");
    img.src = imgBase64;
}

受け取った画像データを、<img>タグのsrcに入れる事で画像を画面に表示する事が出来ます。




で・・・・出来た!!!!
本当にほぼ手持ちのスキルでアプリを作れてしまいました!!

実際にこのアプリに需要があるかはさておき・・・

難しいイメージがあったのですが、ほとんどHTMLのコーディングで終わってしまいました。
Objective-Cの方は本当に上記の数行を書いただけです。
しかも作業開始から2時間もかかっておりません。

フロントエンジニアの方などは、ちょっと学んだだけでかなり高度なアプリも作れるそうです。
またディレクター、プランナーの方、デザイナーの方もそれぞれの技術を生かしてアプリに反映可能です。

自分の技術が流用出来るのは凄くありがたいですね。

実際にスクールで学ばれている方は、iPhoneアプリ開発エンジニアへと完全に転職するのではなく、自分の技術+iPhone開発スキルと言ったように、可能な事を拡張し新しい職場に移って行く事が多いようです。

現在までの自分のキャリアをそのまま生かせて転職出来るので、確実にステップアップ出来ますね!

ちなみに受講生は随時募集中なので、気になる方は一度問い合わせてみましょう!
A-STARスクール https://school.agency-star.com/
システムエンジニア/SEの求人案件 システムエンジニア/SEの求人案件

システムエンジニアやプログラマーの求人・案件情報です。
フリーエンジニアや転職者向けに常時3000件以上の仕事情報を公開しています。