iPhone App (1) Hello world to iPhone

[Swift][超入門]初心者向けはじめてのHelloWorld!

まずはXcodeのDownloadからはじまる

MacのApp StoreからXcodeを検索して、ダウンロードする(無料)。

プロジェクトの作成

1. プロジェクトの新規作成 まずXCodeを開いたら

File>New>Project を選択。

2. テンプレートの選択

次に作りたいアプリに合わせてテンプレが選べます。
今回は iOS>Application>Single New Application を選択。

3. プロダクト名の決定

次にプロダクト名を設定します。Product Nameの中にHelloWorldと入力しましょう。

4. 保存先の設定
デフォルトでは~/Applications内に保存されるそうです。
Desktopに変更してください。

HelloWorldを出力

上記を全て終えるとプロジェクトが立ち上がります。

1.  ラベルを配置

2. ボタンを配置

3. ボタンのイベント処理を追加

ラベルに”HelloWorld”文字列を代入。

//
//  ViewController.swift
//  MyFirstApp
//
//  Created by Hong Chen on 2017/02/22.
//  Copyright © 2017年 DIT. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    @IBAction func tappedButton(_ sender: Any) {
        label.text = "Hello!!"
    }
}

 

 

4. 実行してみる

左上の実行ボタンをクリック!!エミュレータが起動。

エミュレータのボタンをクリックすると、ラベル文字はHelloWorldに変わればOK!!

これでSwiftエンジニアデビュー!!

使用する参考書:

Mobile Computing with App Inventor – CS Principles

edXオンライン授業プラットフォーム

大規模公開オンライン講座(MOOC:Massive Open Online Course) の提供機関であるedX(米国ハーバード大学とMITが創設)。

https://www.edx.org/

アメリカには大学レベルの授業を無償で提供するedXというオンライン授業プラットフォームがあり、ハーバード大学やマサチューセッツ工科大学(MIT)、日本の京都大学、早稲田大学などが参加しています。

Mobile Computing with App Inventor – CS Principles

モバイルコンピューティング(App Inventor利用)のコースは2月再開(Starts on February 7, 2017)。ちょうと春休み期間中、英語得意の学生はユビキタス・クラブで一緒に楽しく勉強して、Certificationを取りませんか?

  • Length: 6 weeks (February 7, 2017 – March 20, 2017?)
  • Effort: 8 hours per week
  • Price: FREE
    Add a Verified Certificate for $49
  • Institution: TrinityX
  • Subject: Computer Science
  • Level: Introductory
  • Languages: English
  • Video Transcripts: English

This course introduces basic principles of computer science by designing and building mobile apps in App Inventor for Android.

https://www.edx.org/course/mobile-computing-app-inventor-cs-trinityx-t007x

About this course

Learn to use the open development tool, App Inventor, to program on Android devices. You will learn how to design and build mobile apps — apps that are aware of their location, send and receive text messages, and give advice and directions. The only limit on the types of apps you will learn to build is your own imagination!

However, computer science is not just about coding and building apps. We will also learn some of  the fundamental principles of computer science. We’ll learn about the potential and the limitations of computing and coding. We’ll learn how the Internet works and about the positive and negative aspects of computing in today’s society, and much more!

For these broader computing concepts we will work within an emerging curricular framework — the Computer Science Principles (CSP). The CSP framework is being developed by leading computer science educators from around the country under the auspices of the College Board and with funding support of the National Science Foundation.

In addition to programming and CSP the course is project-based and emphasizes writing, communication, and creativity. Multiple-choice questions, in the style that students can expect to encounter on the AP exam, will also be a key component of this course.

MITが無料オンライン講座で修士学位を取得可能

edxは大学レベルの授業を受けられるだけで単位は付与されないことになっているのですが、MITがedxの無料オンライン講座を受講した学生に単位を付与するパイロットプログラムを発表し話題を呼んでいます。

http://professional.mit.edu/programs/short-programs/educational-mobile-computing/

Prerequisites:

  • Six-week App Inventor MOOC Mobile Computing with App Inventor – CS Principles (ID Verified Certificate of Achievement: $50) offered by edX starting February 1, 2017. Registration for this MOOC will open soon.
  • Master Trainer applicants who already have experience teaching App Inventor can submit proof of coursework taught in lieu of taking Mobile Computing with App Inventor – CS Principles.
  • Ten weeks of online independent coursework beginning May 8, 2017 (included in the $3,500 course fee).

Mobile Computing

【授業の概要】

スマートフォンのUIとセンサーを活用した、モバイル・アプリの開発をめざす。
モバイルアプリのデザインとプログラミング、デバッグ方法を学ぶ。
MIT App Inventorにより、ブロックを組み合わせるだけでアプリが作成できる。
様々なアプリの開発の演習を通してコンピューターサイエンス、モバイルコンピューティング の理解を深めよう。

Portfolio site

個人Portfolio用Webサイトがなければ、 http://wordpress.com/  に新規作ってください。

参考資料

Quirky Linux 7.1 designed for Android & App Inventor app development

Quirky Linux 7.1使う経緯

学校のマシンルームにApp Inventor アプリの開発講座を考えた。

学校のマシンルームに設置したパソコンの設定がいろいろ制限があり、いろいろ試して苦労したが、結局App Inventor の開発はできません。

まずAndroid は、学校の認証プロクシ通れないので、Web関連のアプリの開発できない。

それからコネクトの問題:

  1. MIT AI2 Companion実機接続:接続できないため使えない。
  2. USB実機接続:USBのデバイスドライバーうまくインストールできない。
  3. エミュレータ接続:学内App Inventor サーバ建てても、つながらない。

結局最初のApp Inventor アプリの開発講座は、エミュレータ接続で、MITのサーバを利用することで凌ぎでした。

学園祭で、再度App Inventor アプリの開発講座を予定した。今度何とか実機接続できないかと考えた。

Lunixなら、デバイスドライバー問題ないらしいので、Googleして見た。

なんとQuirky Linux 7.1という、Android & App Inventor アプリの開発ためのバージョンがありました。

http://distro.ibiblio.org/quirky/quirky6/x86/releases/appril-7.1/

Quirky Linux 7.1のインストール

ネットでみると、情報がすくない。READMEをみるしかない!

http://distro.ibiblio.org/quirky/quirky6/x86/releases/appril-7.1/appril-7.1-README.htm

16GB drive imageですので、ダウンロードした1G程度のファイルを解凍して、14Gぐらい膨らんだ。

16GB USBを用意して、HDDRawCopyというツールで書き込みする。

PCのBIOSをUSB起動するようにセットし、ワンちゃんのデスクトップ出れば、いい感じ。

有線または無線ネットワークを設定して、インターネットに接続する。

 

App Inventor アプリの開発

デスクトップの中央に、App Inventor というアイコンがあり、クリックすると、App Inventor のサーバが立ち上げ、ブラウザは開発画面を開けられた。

ここで、適当にプログラミングして、実機接続して見た。ここは問題発生!

Quirky Linux 7.1にあるApp Inventor のサーバは一年前の古いもの、最新のMIT AI2 Companion対応してない!

もしかして、パッケージに含まれると、READMEを参考にして探したら、下記のところにあった。

/opt/appinventor/MIT AI2 Companion.apk

今度実機のMIT AI2 Companionをこのファイルと差し替えで、試したいと思う。

 

感想

  1. 実機接続開発できそう
  2. 学内このサーバを建てで、ローカル開発できるかも
  3. 。。。

 

Source: Puppy Linux’s Sister Quirky 7.1 Distro Arrives with Tools for Android App Developers

Web Boid by Processing

/** boid
* Copyright 2011 Yutaka Kachi
* Licensed by New BSD License
*
* Boid:生き物の群れのように動き回るボール
*
**/

Education on Web