NSBasic/App StudioというWebアプリの開発ソフトで、とりあえず初歩的なものでも良いから、何かプログラムを作ろうと苦戦している最中だが、Webアプリといっても作ろうとしているアプリのメインのフラットフォームはスマホ用のアプリである。自分はスマホを未だ持っていないので、パソコン上でグーグルのChromeを使ってのプログラムのテストとなる。しかしながら、Chromeばかりで試してたんじゃ、実際にプログラムがどんな感じで動いてるのかよくわからないのが実情だ。そうなると、やはりスマホが必要だ。仕方がない、実機テスト用ということでここは一番、オッサンもスマホデビューするべきだ。もちろん、あくまでもWebアプリ開発のため、向学のための購入だ。40代は不惑の世代なのだ。みんなが持ってるから買うんじゃないぞ! 本当だぞ!
ただ、どうせスマホを買うのなら、なるべく性能がいい奴っていうか、持ってて最大幸福が得られるような機種がほしいよね。前々回の記事で書いたように、スマホを持つことでオッサンのエグゼクティブさが引き立てられ、それに魅せられた周りの美人の女子社員が、あたかも外灯にたかる蛾のように、よってくるような機種がいいよねー。

オッサンによってくる美人な女子社員たち
ということで、近くの電気屋に行ったのだが、実際のところオッサンはケイタイの知識には疎く、電気屋にいろいろとスマホが飾られているのだけれど、どれも皆同じにしか見えないんだけど、、、それ以上に驚いたことは、スマホの値段が高いこと! 5万円越えの機種ばっかやん! そんなの買えるわけ無いじゃん! 1円スマホってのは無いの?
そんなことを思っていたら、店員が背中に張り付いてきたので適当に見つくろってもらうことにした。店員が勧めてきたのは「iPhone」だった。
iPhoneっていうと、最近でもナンチャラっていう商品が新発売になって、発売初日に店の前に長蛇の列ができたっていうあのAppleのスマホやね。だいたいAppleの商品を持ってる奴なんて本当のおしゃれさんかマニアなオタクかのどっちかに決まっている。ほとんどがマニアなのだろうが、発売初日に並んでまでして買おうとする価値観はオッサン的には理解しがたい。あそこまで必死こいて買い求めるということは、そのとき買い損ねると人生においてよほどのデメリットを被ってしまうのだろう(バカジャネーノ)。 でも、iPhoneもってたら、スナックのおねーちゃんとかに「おされ〜」なんてチヤホヤされるかも。ただ、iPhoneのアプリをつくるには、「Xcode」っていうソフトでないと作れないんだけど、このソフトはMacでしか動かないんじゃ、iPhoneは自分的には話にならない。
他にあったのが「WindowsPhone」。いや、これはたぶん同じ機種持ってる女の子っていないと思うから、いらないです!
そうなると、やっぱりAndroid端末ってことになる。スナックのおねーちゃんとか美人の女子社員の使っているのもAndroidだった。これさえあれば、おねーちゃんとの共通の話題には事欠かないはずだ。スペックはよくわからんけど、皆が持ってるってことは性能もいいに決まっている、、、しかし、値段が高い、、、買えない、、、
そんな、心の葛藤をしていたら、店員がとんでもないことを言ってきた、、、「iPhoneだと2年間分割で買えば機種代はタダになりますヨ」
「それくださいっっ!!!」

Apple製品というと、なりが派手で値段が高くてブルジョアジーのためのものと思っていたのだけれど、どうやら今ではビンボー人のためのものになっているらしい。今度はこれで2年間も縛られることになったが、機種代がタダだし、iPhoneアプリを作ることはできないけどとりあえずWebアプリは作れるのだから、我慢しよう。
ポチポチとiPhoneを触っていたら、iPhoneには紺色のメッセージボックスやらクルクル回るセレクターやらなんか見たことあるコントロールの類が多いことに気がついた。あれ、これはNSBasic/App Studioのハンドブックに紹介されているコントロールではないか。Chromeではこんなコントロールは出てこなかったぞい! などと思っていたら、そのとき初めて気がついた。NSBasic/App Studioは、Webアプリの開発ソフトだったのでChromeを筆頭にiPhoneでもAndroidでも、たぶんWindowsPhoneでも動くアプリを作ることができることから、今まで「NSBasic/アプリ スタジオ」だと思いこんでいたのだが、ハンドブックを読んでいくとなんかiPhoneにはやたら手厚い仕様になっている。もしかしたら、これはiPhoneに特化したWebアプリを作る開発ソフトなのかも。てことは、「アプリ スタジオ」ではなくて「NSBasic/アップル スタジオ」が正解?

前々回の記事で、Webアプリを作ろうと模索していることを書いた。自分の技量、開発ソフトのスペックなど考えていくと、実際にできるのかどうかは何ともいえないが、とりあえず進行中だ。考えているのは「動静表アプリ」という、自分の仕事で使う船の離着岸のタイムスケジューラーである。
内容的には、毎日、紙の動静表を受け取るが、これにその日に入港する船の船名、着岸時間、離岸時間、岸壁番号、船首位置、船尾位置、荷役会社、タグボートの有無などが記載されており、1日に10隻ほどしか入港しないので、そのデータを手打ちで入力して保存し、これを一覧表示させる。そして時系列に沿った係留位置を図式で表示させるというアプリを考えている。
入力フォームに関しては、MSBasic/App Studioには「デザインスクリーン」というフォーム作成の機能があるので、テキストボックスやらセレクターやらを適当に配置すれば良いので、特に問題はない。
まず、問題になるのが、そこで作成したデータをどう保管するかということで、iPhoneにどうやってデータを保存させるのか未だよくわからないが、WebアプリだとデータベースのSQLの簡易版、SQLiteというデータベースを介してデータを保存するのが一般的らしい。ただ、資料などを見るのだが、このSQLiteはどう使えばよいのかもよくわからない。それでも、SQLiteの他にLocalStrageという、HTML5の仕様で5MB上限のキャッシュ機能があるらしく、これは変数名とデータを指定するだけで使えるらしく簡単そうだ。キャッシュ機能ってのが途中でデータ消失もありえそうだが、極端な話、Palmデバイスでよく使っていたメモ帳にデータをペーストするって方法もあるわけで、あくまで自分用のアプリと割り切ってしまえば体裁などどうでも良いわけで、これはどうにかなると思っている。
データの一覧表示に関しては、Gridコントロールを使う予定だが、これはまだ何も試してはいない。
図式表示については、Windows版のガントチャートソフトを使ったことがあるが、それの挙動から想像するとあれはフォーム上に帯を描いているようにも見えるが、TextBoxに背景色をつけて配置させることで帯のように見せているのだと思う。NSBasicではプログラム上からコントロールを配置させることができるのかわからないので、PictureBoxコントロールを使って直接、図を描画させる予定だ。ただ、このコントロールも割とお粗末っぽい。PictureBoxコントロールと銘打っているが中身はHTML5のCanvasエレメントを用いたものらしい。実際にテストしてみると、iPhoneのディスプレイサイズがが960*640だったと思うが、フォーム全面にコントロールを配置してみるとコントロールのサイズは460*320のサイズとなる。要するに、Palmデバイスでいえば320*320のハイリゾ画面を持ちながら昔ながらの160*160の画面でしか表示できないみたいな、本来のiPhoneの画面の4倍の粗さでしか図示できず、スクロールさせることもできないので、予定している900メートルの岸壁の36時間分のデータを一度に表示させるのは、かなり困難だ。プログラムの作り方を小手先で工夫するか、抜本的に見直す必要がある。
作ろうとしているアプリのシステムはだいたいこんな感じ。
PictureBoxについて使い方について少々説明を書く。
NSBasic/Palmでは、フォームに直接、線を引いたり文字を書いたりすることができた。NSBasic/App Studioもその感覚で使えると思っていたが、文字は書けても、図形を描画することはできないみたいだ。そのため、図形を描画しようとする範囲にPictureBoxコントロールを配置しておく必要がある。当然ながら、コントロールの外には図形を描画できない。また、何層にもコントロールを配置することができ、図形が重なって描画されても影響し合うことがないので、レイヤー分けした描画が可能だ。
プロパティに「scroll」の文字がつくものがあるので、図を大きく描画しつつiPhone上に部分的に表示しながらスクロールで全体を閲覧することも可能かと思っていたが、これも無理っぽい。結局、460*320サイズ以上の描画はうまくいったことがない。
NSBasic/App StudioのハンドブックにはPictureBoxコントロールに関する説明が少ないので、TechNote13 "PictureBox How to Draw"を参照しながら使い方を知ることになるが、TechNote13もPictureBoxのリファレンスにすぎないので、あまり参考にならない(しかも英語だし)。ただ、基本的にHTML5のCanvasエレメントがベースになっており、コードの記述方法はCanvasのそれとまったく同じで、そのまま応用できる。自分としては、このホームページのここら辺を読んで研究している。日本語な分わかりやすい。
余談だが、PictureBoxコントロールで線の太さを指定するプロパティで「lineWidth」ってのがあるが、これで線の太さを変えようとしたら、これがうまく機能しないので、NSBasicにその旨のメールを出したら、「次期バージョンで修正しておくヨ」って返信が来た。バージョン2.0で修正され、デバッグ情報に修正箇所があげられていた。自分の指摘で使っているソフトが改良されるとちょっと嬉しいね。
ただ、どうせスマホを買うのなら、なるべく性能がいい奴っていうか、持ってて最大幸福が得られるような機種がほしいよね。前々回の記事で書いたように、スマホを持つことでオッサンのエグゼクティブさが引き立てられ、それに魅せられた周りの美人の女子社員が、あたかも外灯にたかる蛾のように、よってくるような機種がいいよねー。

オッサンによってくる美人な女子社員たち
ということで、近くの電気屋に行ったのだが、実際のところオッサンはケイタイの知識には疎く、電気屋にいろいろとスマホが飾られているのだけれど、どれも皆同じにしか見えないんだけど、、、それ以上に驚いたことは、スマホの値段が高いこと! 5万円越えの機種ばっかやん! そんなの買えるわけ無いじゃん! 1円スマホってのは無いの?
そんなことを思っていたら、店員が背中に張り付いてきたので適当に見つくろってもらうことにした。店員が勧めてきたのは「iPhone」だった。
iPhoneっていうと、最近でもナンチャラっていう商品が新発売になって、発売初日に店の前に長蛇の列ができたっていうあのAppleのスマホやね。だいたいAppleの商品を持ってる奴なんて本当のおしゃれさんかマニアなオタクかのどっちかに決まっている。ほとんどがマニアなのだろうが、発売初日に並んでまでして買おうとする価値観はオッサン的には理解しがたい。あそこまで必死こいて買い求めるということは、そのとき買い損ねると人生においてよほどのデメリットを被ってしまうのだろう(バカジャネーノ)。 でも、iPhoneもってたら、スナックのおねーちゃんとかに「おされ〜」なんてチヤホヤされるかも。ただ、iPhoneのアプリをつくるには、「Xcode」っていうソフトでないと作れないんだけど、このソフトはMacでしか動かないんじゃ、iPhoneは自分的には話にならない。
他にあったのが「WindowsPhone」。いや、これはたぶん同じ機種持ってる女の子っていないと思うから、いらないです!
そうなると、やっぱりAndroid端末ってことになる。スナックのおねーちゃんとか美人の女子社員の使っているのもAndroidだった。これさえあれば、おねーちゃんとの共通の話題には事欠かないはずだ。スペックはよくわからんけど、皆が持ってるってことは性能もいいに決まっている、、、しかし、値段が高い、、、買えない、、、
そんな、心の葛藤をしていたら、店員がとんでもないことを言ってきた、、、「iPhoneだと2年間分割で買えば機種代はタダになりますヨ」
「それくださいっっ!!!」

Apple製品というと、なりが派手で値段が高くてブルジョアジーのためのものと思っていたのだけれど、どうやら今ではビンボー人のためのものになっているらしい。今度はこれで2年間も縛られることになったが、機種代がタダだし、iPhoneアプリを作ることはできないけどとりあえずWebアプリは作れるのだから、我慢しよう。
ポチポチとiPhoneを触っていたら、iPhoneには紺色のメッセージボックスやらクルクル回るセレクターやらなんか見たことあるコントロールの類が多いことに気がついた。あれ、これはNSBasic/App Studioのハンドブックに紹介されているコントロールではないか。Chromeではこんなコントロールは出てこなかったぞい! などと思っていたら、そのとき初めて気がついた。NSBasic/App Studioは、Webアプリの開発ソフトだったのでChromeを筆頭にiPhoneでもAndroidでも、たぶんWindowsPhoneでも動くアプリを作ることができることから、今まで「NSBasic/アプリ スタジオ」だと思いこんでいたのだが、ハンドブックを読んでいくとなんかiPhoneにはやたら手厚い仕様になっている。もしかしたら、これはiPhoneに特化したWebアプリを作る開発ソフトなのかも。てことは、「アプリ スタジオ」ではなくて「NSBasic/アップル スタジオ」が正解?

前々回の記事で、Webアプリを作ろうと模索していることを書いた。自分の技量、開発ソフトのスペックなど考えていくと、実際にできるのかどうかは何ともいえないが、とりあえず進行中だ。考えているのは「動静表アプリ」という、自分の仕事で使う船の離着岸のタイムスケジューラーである。
内容的には、毎日、紙の動静表を受け取るが、これにその日に入港する船の船名、着岸時間、離岸時間、岸壁番号、船首位置、船尾位置、荷役会社、タグボートの有無などが記載されており、1日に10隻ほどしか入港しないので、そのデータを手打ちで入力して保存し、これを一覧表示させる。そして時系列に沿った係留位置を図式で表示させるというアプリを考えている。
入力フォームに関しては、MSBasic/App Studioには「デザインスクリーン」というフォーム作成の機能があるので、テキストボックスやらセレクターやらを適当に配置すれば良いので、特に問題はない。
まず、問題になるのが、そこで作成したデータをどう保管するかということで、iPhoneにどうやってデータを保存させるのか未だよくわからないが、WebアプリだとデータベースのSQLの簡易版、SQLiteというデータベースを介してデータを保存するのが一般的らしい。ただ、資料などを見るのだが、このSQLiteはどう使えばよいのかもよくわからない。それでも、SQLiteの他にLocalStrageという、HTML5の仕様で5MB上限のキャッシュ機能があるらしく、これは変数名とデータを指定するだけで使えるらしく簡単そうだ。キャッシュ機能ってのが途中でデータ消失もありえそうだが、極端な話、Palmデバイスでよく使っていたメモ帳にデータをペーストするって方法もあるわけで、あくまで自分用のアプリと割り切ってしまえば体裁などどうでも良いわけで、これはどうにかなると思っている。
データの一覧表示に関しては、Gridコントロールを使う予定だが、これはまだ何も試してはいない。
図式表示については、Windows版のガントチャートソフトを使ったことがあるが、それの挙動から想像するとあれはフォーム上に帯を描いているようにも見えるが、TextBoxに背景色をつけて配置させることで帯のように見せているのだと思う。NSBasicではプログラム上からコントロールを配置させることができるのかわからないので、PictureBoxコントロールを使って直接、図を描画させる予定だ。ただ、このコントロールも割とお粗末っぽい。PictureBoxコントロールと銘打っているが中身はHTML5のCanvasエレメントを用いたものらしい。実際にテストしてみると、iPhoneのディスプレイサイズがが960*640だったと思うが、フォーム全面にコントロールを配置してみるとコントロールのサイズは460*320のサイズとなる。要するに、Palmデバイスでいえば320*320のハイリゾ画面を持ちながら昔ながらの160*160の画面でしか表示できないみたいな、本来のiPhoneの画面の4倍の粗さでしか図示できず、スクロールさせることもできないので、予定している900メートルの岸壁の36時間分のデータを一度に表示させるのは、かなり困難だ。プログラムの作り方を小手先で工夫するか、抜本的に見直す必要がある。
作ろうとしているアプリのシステムはだいたいこんな感じ。
PictureBoxについて使い方について少々説明を書く。
NSBasic/Palmでは、フォームに直接、線を引いたり文字を書いたりすることができた。NSBasic/App Studioもその感覚で使えると思っていたが、文字は書けても、図形を描画することはできないみたいだ。そのため、図形を描画しようとする範囲にPictureBoxコントロールを配置しておく必要がある。当然ながら、コントロールの外には図形を描画できない。また、何層にもコントロールを配置することができ、図形が重なって描画されても影響し合うことがないので、レイヤー分けした描画が可能だ。
プロパティに「scroll」の文字がつくものがあるので、図を大きく描画しつつiPhone上に部分的に表示しながらスクロールで全体を閲覧することも可能かと思っていたが、これも無理っぽい。結局、460*320サイズ以上の描画はうまくいったことがない。
NSBasic/App StudioのハンドブックにはPictureBoxコントロールに関する説明が少ないので、TechNote13 "PictureBox How to Draw"を参照しながら使い方を知ることになるが、TechNote13もPictureBoxのリファレンスにすぎないので、あまり参考にならない(しかも英語だし)。ただ、基本的にHTML5のCanvasエレメントがベースになっており、コードの記述方法はCanvasのそれとまったく同じで、そのまま応用できる。自分としては、このホームページのここら辺を読んで研究している。日本語な分わかりやすい。
余談だが、PictureBoxコントロールで線の太さを指定するプロパティで「lineWidth」ってのがあるが、これで線の太さを変えようとしたら、これがうまく機能しないので、NSBasicにその旨のメールを出したら、「次期バージョンで修正しておくヨ」って返信が来た。バージョン2.0で修正され、デバッグ情報に修正箇所があげられていた。自分の指摘で使っているソフトが改良されるとちょっと嬉しいね。







