携帯電話用のVBアプリ
投稿者 (削除されました)  ()
投稿日時
2008/11/15 22:38:18
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2008/11/15 22:56:36
(削除されました)
投稿者 ラキシス  ()
投稿日時
2008/11/16 03:25:46
携帯電話アプリで使用する言語としては
docomo:java
softbank:java (iPhoneはobjective-c)
au:BREW(C言語)
一般的に作成可能な部分のアプリは上記の言語になります。
お手軽なFlashを使う物もありますが。
携帯電話に乗っているOSにはwindows CEとかsymbianとかがあるけど一般的には
そこの部分に触れるアプリは作成できないです。
docomo:java
softbank:java (iPhoneはobjective-c)
au:BREW(C言語)
一般的に作成可能な部分のアプリは上記の言語になります。
お手軽なFlashを使う物もありますが。
携帯電話に乗っているOSにはwindows CEとかsymbianとかがあるけど一般的には
そこの部分に触れるアプリは作成できないです。
投稿者 (削除されました)  ()
投稿日時
2008/11/16 05:20:31
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2008/11/16 05:24:16
(削除されました)
投稿者 リスナー  (学生)
投稿日時
2008/11/16 06:08:58
ラキシスさんレスありがとうございます。
(返事がありながらも削除されたようで。いったい何が書かれていたんだろう。まあいいですが……)
なるほどVBがのっかる場所はありませんか……。
でも携帯用のJAVAであってもPCで使っているのとは違うのでしょうし。
するとPC用のJAVAをスケールダウンなのか何なのかは知りませんが
何らかの手を加えて携帯用にしたんでしょうね。
そういうのってどうやってやるんでしょう。また、どういう知識が必要なんでしょう。
言語の移植に興味があります。
それはそうとレスありがとうございました。
(返事がありながらも削除されたようで。いったい何が書かれていたんだろう。まあいいですが……)
なるほどVBがのっかる場所はありませんか……。
でも携帯用のJAVAであってもPCで使っているのとは違うのでしょうし。
するとPC用のJAVAをスケールダウンなのか何なのかは知りませんが
何らかの手を加えて携帯用にしたんでしょうね。
そういうのってどうやってやるんでしょう。また、どういう知識が必要なんでしょう。
言語の移植に興味があります。
それはそうとレスありがとうございました。
投稿者 るきお  (社会人)
投稿日時
2008/11/16 06:26:16
こんにちは。
携帯はくわしくないのですが、
Windows CEが載っている機種でもVBでプログラムできないものなのですか?
Windows CE自体はVBで作ったプログラムを実行することができるのですが、携帯では何かの仕組みでそれもできないようになっているということでしょうか?
携帯はくわしくないのですが、
Windows CEが載っている機種でもVBでプログラムできないものなのですか?
Windows CE自体はVBで作ったプログラムを実行することができるのですが、携帯では何かの仕組みでそれもできないようになっているということでしょうか?
投稿者 (削除されました)  ()
投稿日時
2008/11/16 06:30:06
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2008/11/16 07:22:10
(削除されました)
投稿者 リスナー  (学生)
投稿日時
2008/11/16 07:41:19
るきおさんレスありがとうございます。
(何やら得体の知れないレスを装った横やりも混ざっていますが放っておきましょう)
WindowsCEというのがまずあるのですね。それはOSなのですね。
(聞いたことがあるような気もしますがうろ覚えでして)
文脈からCEは携帯の他でも搭載されているようですね。
PCで作ったVBアプリが土壌さえ合えば携帯にそのまま乗っかるという理解で良いのか、
それともあくまでPCアプリということで何らかの携帯向けの処理を施すことが必要なのか、
(スケールダウン的なもの?)
いずれにしてもWindowsはやはり普及率でいくと凄いのでしょうし、
そのWindows上で動くVBアプリがせっかく自分にも少しでも作れるというのなら、
ぜひとも携帯でVBアプリを動かしたいと思った次第です。
Windows携帯と呼ばれる機種があるぐらいですから、CEが搭載された携帯も多いのかなぁと。
とはいえフレームワークについても携帯用であるということなのでしょうかね。
OSにしてもフレームワークにしても、制作するVBアプリにしても、
やはり携帯用ということで何かとPCでのようには行かないのでしょうかね。
JAVAにしてもやはりPC用JAVAから携帯用JAVAに何らかの改造がなされているのでしょうし。
(何やら得体の知れないレスを装った横やりも混ざっていますが放っておきましょう)
WindowsCEというのがまずあるのですね。それはOSなのですね。
(聞いたことがあるような気もしますがうろ覚えでして)
文脈からCEは携帯の他でも搭載されているようですね。
PCで作ったVBアプリが土壌さえ合えば携帯にそのまま乗っかるという理解で良いのか、
それともあくまでPCアプリということで何らかの携帯向けの処理を施すことが必要なのか、
(スケールダウン的なもの?)
いずれにしてもWindowsはやはり普及率でいくと凄いのでしょうし、
そのWindows上で動くVBアプリがせっかく自分にも少しでも作れるというのなら、
ぜひとも携帯でVBアプリを動かしたいと思った次第です。
Windows携帯と呼ばれる機種があるぐらいですから、CEが搭載された携帯も多いのかなぁと。
とはいえフレームワークについても携帯用であるということなのでしょうかね。
OSにしてもフレームワークにしても、制作するVBアプリにしても、
やはり携帯用ということで何かとPCでのようには行かないのでしょうかね。
JAVAにしてもやはりPC用JAVAから携帯用JAVAに何らかの改造がなされているのでしょうし。
投稿者 (削除されました)  ()
投稿日時
2008/11/16 07:49:50
(削除されました)
投稿者 ラキシス  (その他)
投稿日時
2008/11/16 10:02:28
私のはあくまで日本の携帯電話についてなので、PDAなどなら自作のVBアプリを乗せられるん
じゃないかなぁと思います。
やった事は無いのであくまで推測です。
VB+DirectXのようにVBにDirectX SDKを加える事でDirectXのアプリを動かすのと似たよう
に、携帯電話のアプリもjava+各々のSDKという感じというイメージかな。
docomoのiアプリなら自分でサーバにアップして携帯電話にダウンロードが出来るけど、softbank
とauに関してはプロバイダで無いと配信できません。
一般の人が配信する場合にはアプリゲットなどに申請して配信するという手段でやる事は出来ま
す。
趣味で触ってみたいという事ならdocomoのiアプリがお勧めです。
書籍とかホームページの情報が充実しているから。
とりあえずdocomoの以下のサイトを見てみるのがいいかと思います。
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/#p05
じゃないかなぁと思います。
やった事は無いのであくまで推測です。
VB+DirectXのようにVBにDirectX SDKを加える事でDirectXのアプリを動かすのと似たよう
に、携帯電話のアプリもjava+各々のSDKという感じというイメージかな。
docomoのiアプリなら自分でサーバにアップして携帯電話にダウンロードが出来るけど、softbank
とauに関してはプロバイダで無いと配信できません。
一般の人が配信する場合にはアプリゲットなどに申請して配信するという手段でやる事は出来ま
す。
趣味で触ってみたいという事ならdocomoのiアプリがお勧めです。
書籍とかホームページの情報が充実しているから。
とりあえずdocomoの以下のサイトを見てみるのがいいかと思います。
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/#p05
投稿者 リスナー  (学生)
投稿日時
2008/11/16 13:55:24
ラキシスさん詳しいレスありがとうございます。
>>VB+DirectXのようにVBにDirectX SDKを加える事でDirectXのアプリを動かすのと似たよう
に、携帯電話のアプリもjava+各々のSDKという感じというイメージかな。
イメージとしてやっと納得がいきました。
javaそのものをどうするというより、そこに色々と付属させて携帯用になるというイメージなのですね。
>>docomoのiアプリなら自分でサーバにアップして携帯電話にダウンロードが出来るけど、softbank
とauに関してはプロバイダで無いと配信できません。
一般の人が配信する場合にはアプリゲットなどに申請して配信するという手段でやる事は出来ます。
そうでしたか。softbank&auどうしてプロバイダのみなのでしょうね。
でもiアプリを試してみようと思います。
もちろんVBがメインなのでPDAなどについてももう少し調べてみますね。
詳しいレスありがとうございました。
>>VB+DirectXのようにVBにDirectX SDKを加える事でDirectXのアプリを動かすのと似たよう
に、携帯電話のアプリもjava+各々のSDKという感じというイメージかな。
イメージとしてやっと納得がいきました。
javaそのものをどうするというより、そこに色々と付属させて携帯用になるというイメージなのですね。
>>docomoのiアプリなら自分でサーバにアップして携帯電話にダウンロードが出来るけど、softbank
とauに関してはプロバイダで無いと配信できません。
一般の人が配信する場合にはアプリゲットなどに申請して配信するという手段でやる事は出来ます。
そうでしたか。softbank&auどうしてプロバイダのみなのでしょうね。
でもiアプリを試してみようと思います。
もちろんVBがメインなのでPDAなどについてももう少し調べてみますね。
詳しいレスありがとうございました。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2008/11/16 15:02:19
リスナーさん
> とにかく各種キャリアで動作可能なアプリをVBで作る事は可能でしょうか?
ASP.NET として、サーバーサイド動作の Web アプリなら可能でしょう。
端末上で動かすなら、Advanced/W-ZERO3[es]などの Windows Mobile ケータイが必要です。
しかし非 Windows 機の場合は、VB アプリは動作しません。ただし理論上の話でもよいなら、
自力で IL さえ実装すれば、動作させることは可能です。実際、2006/12/15 に開催された
第15回 MSDN オフラインセミナーでは、".NET on Brew" という CLI を独自に
実装することで、C# アプリを BREW 上で動かすデモを披露していましたし。
http://www.microsoft.com/japan/msdn/events/offline/past.aspx
Webキャスト - 第15回 MSDN オフラインセミナー
https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032379061&EventCategory=3&culture=ja-JP&CountryCode=JP
るきおさん
> Windows CEが載っている機種でもVBでプログラムできないものなのですか?
該当する機種としては、「Advanced/W-ZERO3[es]」などがありますね。
CE 機上で開発するという意味ではなく、CE 機向けに開発するという意味ならば、
非.NETなら、Microsoft eMbedded Visual Basic 3.0 が使えます。
VB.NET なら、.NET Compact Framework を使えば OK です。
リスナーさん
> PCで作ったVBアプリが土壌さえ合えば携帯にそのまま乗っかるという理解で良いのか、
.NET Compact Framework 向けのアプリは、PC でも CE 機でも動きます。
> とにかく各種キャリアで動作可能なアプリをVBで作る事は可能でしょうか?
ASP.NET として、サーバーサイド動作の Web アプリなら可能でしょう。
端末上で動かすなら、Advanced/W-ZERO3[es]などの Windows Mobile ケータイが必要です。
しかし非 Windows 機の場合は、VB アプリは動作しません。ただし理論上の話でもよいなら、
自力で IL さえ実装すれば、動作させることは可能です。実際、2006/12/15 に開催された
第15回 MSDN オフラインセミナーでは、".NET on Brew" という CLI を独自に
実装することで、C# アプリを BREW 上で動かすデモを披露していましたし。
http://www.microsoft.com/japan/msdn/events/offline/past.aspx
Webキャスト - 第15回 MSDN オフラインセミナー
https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032379061&EventCategory=3&culture=ja-JP&CountryCode=JP
るきおさん
> Windows CEが載っている機種でもVBでプログラムできないものなのですか?
該当する機種としては、「Advanced/W-ZERO3[es]」などがありますね。
CE 機上で開発するという意味ではなく、CE 機向けに開発するという意味ならば、
非.NETなら、Microsoft eMbedded Visual Basic 3.0 が使えます。
VB.NET なら、.NET Compact Framework を使えば OK です。
リスナーさん
> PCで作ったVBアプリが土壌さえ合えば携帯にそのまま乗っかるという理解で良いのか、
.NET Compact Framework 向けのアプリは、PC でも CE 機でも動きます。
投稿者 リスナー  (学生)
投稿日時
2008/11/16 20:56:52
>>サーバーサイド動作の Web アプリなら可能でしょう。
なるほど。サーバで動かして、そこに各端末にアクセスしてもらうという方法ということなのでしょうか。
キャリア側でどうにかする視点しかありませんでしたが、
考えてみるとそういう根本的が解決策もありましたね。納得かつ感動です。
>>非 Windows 機の場合は、VB アプリは動作しません。
やはりそうなのですね。
>>ただし理論上の話でもよいなら、
自力で IL さえ実装すれば、動作させることは可能です。実際、2006/12/15 に開催された
第15回 MSDN オフラインセミナーでは、".NET on Brew" という CLI を独自に
実装することで、C# アプリを BREW 上で動かすデモを披露していましたし。
未熟者でILとかCLIといった言葉の意味が正直なところ分からないのですが、
VBアプリが動く土壌を自力構築するという意味で良いのでしょうか。
>>CE 機上で開発するという意味ではなく、CE 機向けに開発するという意味ならば、
なるほど。どうやら紛らわしい表現を私がしていたようです。
CE向けに開発という意味でした。
というより機上で開発するという区別を私は持っていませんでした。
携帯アプリやモバイルアプリの開発に関しても、そのあたりを私は正直まだよく分かっていないのです。
PC上で作ったアプリを携帯やモバイル上で動かすという発想のほかに、
最初から携帯やモバイル上で作ったアプリをそれらの上で動かすという方法あるようですね。
>>非.NETなら、Microsoft eMbedded Visual Basic 3.0 が使えます。
VB.NET なら、.NET Compact Framework を使えば OK です。
こんなにも詳しく教えてくださってありがとうございます。
ちなみに私は2005使用者です。最初から書くべきでしたね。以後から注意したいと思います。
>>.NET Compact Framework 向けのアプリは、PC でも CE 機でも動きます。
そうでしたか。どうやら根本的な部分でまだ私には誤解があるようです。
CEだからPCで制作したアプリにスケールダウン等が必要といったような話ではないのですね。
どちらでも動く、ということなのですね。
なるほど。サーバで動かして、そこに各端末にアクセスしてもらうという方法ということなのでしょうか。
キャリア側でどうにかする視点しかありませんでしたが、
考えてみるとそういう根本的が解決策もありましたね。納得かつ感動です。
>>非 Windows 機の場合は、VB アプリは動作しません。
やはりそうなのですね。
>>ただし理論上の話でもよいなら、
自力で IL さえ実装すれば、動作させることは可能です。実際、2006/12/15 に開催された
第15回 MSDN オフラインセミナーでは、".NET on Brew" という CLI を独自に
実装することで、C# アプリを BREW 上で動かすデモを披露していましたし。
未熟者でILとかCLIといった言葉の意味が正直なところ分からないのですが、
VBアプリが動く土壌を自力構築するという意味で良いのでしょうか。
>>CE 機上で開発するという意味ではなく、CE 機向けに開発するという意味ならば、
なるほど。どうやら紛らわしい表現を私がしていたようです。
CE向けに開発という意味でした。
というより機上で開発するという区別を私は持っていませんでした。
携帯アプリやモバイルアプリの開発に関しても、そのあたりを私は正直まだよく分かっていないのです。
PC上で作ったアプリを携帯やモバイル上で動かすという発想のほかに、
最初から携帯やモバイル上で作ったアプリをそれらの上で動かすという方法あるようですね。
>>非.NETなら、Microsoft eMbedded Visual Basic 3.0 が使えます。
VB.NET なら、.NET Compact Framework を使えば OK です。
こんなにも詳しく教えてくださってありがとうございます。
ちなみに私は2005使用者です。最初から書くべきでしたね。以後から注意したいと思います。
>>.NET Compact Framework 向けのアプリは、PC でも CE 機でも動きます。
そうでしたか。どうやら根本的な部分でまだ私には誤解があるようです。
CEだからPCで制作したアプリにスケールダウン等が必要といったような話ではないのですね。
どちらでも動く、ということなのですね。
投稿者 (削除されました)  ()
投稿日時
2008/11/17 00:54:38
(削除されました)
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2008/11/17 12:07:46
>>> Windows CEが載っている機種でもVBでプログラムできないものなのですか?
>> 該当する機種としては、「Advanced/W-ZERO3[es]」などがありますね。
表現が適切では無かったので補足。
ここで「Advanced/W-ZERO3[es]」を例に挙げたのは、『CE搭載機の一種』という
意味においてです。VB 非対応機種という意味ではありません。m(_ _;)m
-----
> 未熟者でILとかCLIといった言葉の意味が正直なところ分からないのですが、
> VBアプリが動く土壌を自力構築するという意味で良いのでしょうか。
ですね。大雑把に言えば、「.NET Framework」そのものを自作する事を連想すればよいかと。
もちろん自作するのは 非常に 大変な事なので、通常は先に書いたように
>>>非 Windows 機の場合は、VB アプリは動作しません。
という結論になるわけです。
なお CLI とは、.NET対応言語を動かすための共通言語基盤となる『仕様定義』です。
(この仕様は、JIS X 3016, ISO/IEC 23271, ECMA-335 にて標準化されています)
そして、この CLI 仕様にしたがって開発されたフレームワークとして、
.NET Framework (Microsoft)
.NET Compact Framework (Microsoft)
シェアードソース CLI (Microsoft) … http://research.microsoft.com/sscli/
Monoプロジェクト … http://www.mono-project.com/Main_Page
などが存在しているという位置づけにあたります。
シェアードソース CLI や Mono などは、Windows 以外の環境にもインストールできますし、
ソースコードも公開されています。まぁ、普通の VB 開発者は .NET Framework だけあれば
十分なのですけれどね。
>>>.NET Compact Framework 向けのアプリは、PC でも CE 機でも動きます。
なお .NET Compact Framework 向けのアプリは、.NET Framework 上では動作しません。
Windows PC 上で動かす場合も CE 機で動かす場合も、.NET Compact Framework が必要です。
> ちなみに私は2005使用者です。
2005の下位のエディションでは、Windows CE アプリの開発が行えないのでご注意を。
http://www.microsoft.com/japan/msdn/vstudio/products/compare/default.aspx
ついでに、2003/2008 の場合についても書いておきます。
http://www.microsoft.com/japan/msdn/vstudio/previous/2003/features/featurelist.aspx
http://www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx
>> 該当する機種としては、「Advanced/W-ZERO3[es]」などがありますね。
表現が適切では無かったので補足。
ここで「Advanced/W-ZERO3[es]」を例に挙げたのは、『CE搭載機の一種』という
意味においてです。VB 非対応機種という意味ではありません。m(_ _;)m
-----
> 未熟者でILとかCLIといった言葉の意味が正直なところ分からないのですが、
> VBアプリが動く土壌を自力構築するという意味で良いのでしょうか。
ですね。大雑把に言えば、「.NET Framework」そのものを自作する事を連想すればよいかと。
もちろん自作するのは 非常に 大変な事なので、通常は先に書いたように
>>>非 Windows 機の場合は、VB アプリは動作しません。
という結論になるわけです。
なお CLI とは、.NET対応言語を動かすための共通言語基盤となる『仕様定義』です。
(この仕様は、JIS X 3016, ISO/IEC 23271, ECMA-335 にて標準化されています)
そして、この CLI 仕様にしたがって開発されたフレームワークとして、
.NET Framework (Microsoft)
.NET Compact Framework (Microsoft)
シェアードソース CLI (Microsoft) … http://research.microsoft.com/sscli/
Monoプロジェクト … http://www.mono-project.com/Main_Page
などが存在しているという位置づけにあたります。
シェアードソース CLI や Mono などは、Windows 以外の環境にもインストールできますし、
ソースコードも公開されています。まぁ、普通の VB 開発者は .NET Framework だけあれば
十分なのですけれどね。
>>>.NET Compact Framework 向けのアプリは、PC でも CE 機でも動きます。
なお .NET Compact Framework 向けのアプリは、.NET Framework 上では動作しません。
Windows PC 上で動かす場合も CE 機で動かす場合も、.NET Compact Framework が必要です。
> ちなみに私は2005使用者です。
2005の下位のエディションでは、Windows CE アプリの開発が行えないのでご注意を。
http://www.microsoft.com/japan/msdn/vstudio/products/compare/default.aspx
ついでに、2003/2008 の場合についても書いておきます。
http://www.microsoft.com/japan/msdn/vstudio/previous/2003/features/featurelist.aspx
http://www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx
投稿者 リスナー  (学生)
投稿日時
2008/11/17 19:54:18
さらなる詳細な情報ありがとうございます。
>>大雑把に言えば、「.NET Framework」そのものを自作する事を連想すればよいかと。
もちろん自作するのは 非常に 大変な事なので、通常は先に書いたように
非 Windows 機の場合は、VB アプリは動作しません。
という結論になるわけです。
なるほど。かなり困難な道のりのようですね。
それでも仮に挑戦するとしたら、知識としては何が必要なのでしょう。
また、技術としてはどれぐらいのことができるようであればよいのでしょう。
書店によくこの手の本が並んでいますが、
コンパイラだとかCPUを自作できるぐらいの腕はやはり必要なのでしょうか。
よく移植という言葉を耳にします。
携帯の中身について知りませんがやはりPCと同じようにCPUがあるのでしょうし。
すると携帯やPDA、スマートフォンのCPUに合わせて
VBそのものとはいかなくてもVBの作法を踏襲したような何か
そんな言語を開発するなんていうことは可能なのでしょうか。
フレームワークの自力構築も困難でしょうし、
そうやって考えてみると携帯やその機械に合わせた何らかの言語の開発に強い関心を持ったもので、
ついレスしてみました。
>>大雑把に言えば、「.NET Framework」そのものを自作する事を連想すればよいかと。
もちろん自作するのは 非常に 大変な事なので、通常は先に書いたように
非 Windows 機の場合は、VB アプリは動作しません。
という結論になるわけです。
なるほど。かなり困難な道のりのようですね。
それでも仮に挑戦するとしたら、知識としては何が必要なのでしょう。
また、技術としてはどれぐらいのことができるようであればよいのでしょう。
書店によくこの手の本が並んでいますが、
コンパイラだとかCPUを自作できるぐらいの腕はやはり必要なのでしょうか。
よく移植という言葉を耳にします。
携帯の中身について知りませんがやはりPCと同じようにCPUがあるのでしょうし。
すると携帯やPDA、スマートフォンのCPUに合わせて
VBそのものとはいかなくてもVBの作法を踏襲したような何か
そんな言語を開発するなんていうことは可能なのでしょうか。
フレームワークの自力構築も困難でしょうし、
そうやって考えてみると携帯やその機械に合わせた何らかの言語の開発に強い関心を持ったもので、
ついレスしてみました。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2008/11/18 01:40:16
> それでも仮に挑戦するとしたら、知識としては何が必要なのでしょう。
> また、技術としてはどれぐらいのことができるようであればよいのでしょう。
知識/技術というか、開発してくれる同志を集める力が必要かな…?
すべてを自分一人で組むつもりならば別ですけれども。
まぁ、それはともかくとして:
まずは、CLI の仕様を把握せねばなりません。それを記した
ECMA-335 は英語ですが、これを理解せねば先に進めません。
日本語化された "JIS X 3016" もありますが、こちらは有料です。
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+3016%3A2006&dantaiCd=JIS&status=1&pageNo=1
ただし下記で "X3016" と検索することで、閲覧専用のPDFを見る事ができます。
http://www.jisc.go.jp/app/JPS/JPSO0020.html
また、Windows API に関する造詣もあった方が良いかと思います。
先述した MSDN オフラインセミナーによると、.NET Framework のクラス実装は、
Windows API をカプセル化したものであるため、各種 Windows API を
その環境向けに実装してやるのが、実現への近道となるそうです。
(可能であれば、先述のセミナーのWeb配信を参照してみてください)
その他の参考資料としては、先に示した Shared Source CLI のソースが
強力な資料になるかと思います。(sscli20\clr\src)
このソースは C# で書かれていますが、C# では表現できない部分においては、
C++ で記述されています。(たとえば、sscli20\clr\src\ecall.cpp など)
> コンパイラだとかCPUを自作できるぐらいの腕はやはり必要なのでしょうか。
我々が作成するアプリは、VB や C# にて記述しますよね。
生のIL(中間言語)を直接書くわけではありませんから、少なくとも
それらを IL に変換するためのコンパイラを作らねばなりません。
> 携帯の中身について知りませんがやはりPCと同じようにCPUがあるのでしょうし。
IL は、高級言語(VBなど)のソースコードと機械語の中間に位置する物であり、
CPU 別に用意しなければなりません。実際、.NET Compact Framework 2.0 でも
それぞれのCPU アーキテクチャ向けに、ARMv4、MIPSII、MipsIV、SH4、X86 とで
別のファイルとして用意されています。
ただし携帯電話では ARM が使われる事が多いので、最終的な機械語は、
ARM アーキテクチャ向けに組まれていくことになるでしょう。
あるいは CLI を、他のフレームワーク(Java や BREW など) の上に
実装するという手もあります。BREW はライセンス面がハードルになりますが…。
> VBそのものとはいかなくてもVBの作法を踏襲したような何か
> そんな言語を開発するなんていうことは可能なのでしょうか。
VB の前身である BASIC 言語でさえ、コンパイラ(あるいはインタプリタ)の
作成にはそれなりの手間がかかります。簡単な事ではありませんが、
リスナーさんの頑張り次第では可能かも知れません。
ただそのためには、VB 以外の言語にも触れておいた方が良いかと思います。
http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7
そしてせっかく言語を作成するなら、『チューリング完全』にすべきでしょう。
http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7
もちろん VB もチューリング完全ではありますが、いきなり VB ソースコードの
字句解析を作りこむのは難易度が高いので、まずは実用性を無視して、
Brainfuck 言語などの実装が簡単なコンパイラ作成から試してみては如何でしょう。
> 何らかの言語の開発に強い関心を持ったもので、
携帯用という点は抜きにして、言語の作成に興味があるのであれば、
System.Reflection.Emit とか、System.CodeDom 名前空間のクラスを
調べてみると、面白いかと思いますよ。
> また、技術としてはどれぐらいのことができるようであればよいのでしょう。
知識/技術というか、開発してくれる同志を集める力が必要かな…?
すべてを自分一人で組むつもりならば別ですけれども。
まぁ、それはともかくとして:
まずは、CLI の仕様を把握せねばなりません。それを記した
ECMA-335 は英語ですが、これを理解せねば先に進めません。
日本語化された "JIS X 3016" もありますが、こちらは有料です。
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+3016%3A2006&dantaiCd=JIS&status=1&pageNo=1
ただし下記で "X3016" と検索することで、閲覧専用のPDFを見る事ができます。
http://www.jisc.go.jp/app/JPS/JPSO0020.html
また、Windows API に関する造詣もあった方が良いかと思います。
先述した MSDN オフラインセミナーによると、.NET Framework のクラス実装は、
Windows API をカプセル化したものであるため、各種 Windows API を
その環境向けに実装してやるのが、実現への近道となるそうです。
(可能であれば、先述のセミナーのWeb配信を参照してみてください)
その他の参考資料としては、先に示した Shared Source CLI のソースが
強力な資料になるかと思います。(sscli20\clr\src)
このソースは C# で書かれていますが、C# では表現できない部分においては、
C++ で記述されています。(たとえば、sscli20\clr\src\ecall.cpp など)
> コンパイラだとかCPUを自作できるぐらいの腕はやはり必要なのでしょうか。
我々が作成するアプリは、VB や C# にて記述しますよね。
生のIL(中間言語)を直接書くわけではありませんから、少なくとも
それらを IL に変換するためのコンパイラを作らねばなりません。
> 携帯の中身について知りませんがやはりPCと同じようにCPUがあるのでしょうし。
IL は、高級言語(VBなど)のソースコードと機械語の中間に位置する物であり、
CPU 別に用意しなければなりません。実際、.NET Compact Framework 2.0 でも
それぞれのCPU アーキテクチャ向けに、ARMv4、MIPSII、MipsIV、SH4、X86 とで
別のファイルとして用意されています。
ただし携帯電話では ARM が使われる事が多いので、最終的な機械語は、
ARM アーキテクチャ向けに組まれていくことになるでしょう。
あるいは CLI を、他のフレームワーク(Java や BREW など) の上に
実装するという手もあります。BREW はライセンス面がハードルになりますが…。
> VBそのものとはいかなくてもVBの作法を踏襲したような何か
> そんな言語を開発するなんていうことは可能なのでしょうか。
VB の前身である BASIC 言語でさえ、コンパイラ(あるいはインタプリタ)の
作成にはそれなりの手間がかかります。簡単な事ではありませんが、
リスナーさんの頑張り次第では可能かも知れません。
ただそのためには、VB 以外の言語にも触れておいた方が良いかと思います。
http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7
そしてせっかく言語を作成するなら、『チューリング完全』にすべきでしょう。
http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7
もちろん VB もチューリング完全ではありますが、いきなり VB ソースコードの
字句解析を作りこむのは難易度が高いので、まずは実用性を無視して、
Brainfuck 言語などの実装が簡単なコンパイラ作成から試してみては如何でしょう。
> 何らかの言語の開発に強い関心を持ったもので、
携帯用という点は抜きにして、言語の作成に興味があるのであれば、
System.Reflection.Emit とか、System.CodeDom 名前空間のクラスを
調べてみると、面白いかと思いますよ。
投稿者 リスナー  (学生)
投稿日時
2008/11/18 03:08:22
重ね重ね良質かつ丁寧なお返事ありがとうございます。
まだ何を完成させたわけでもない、
未知というより未熟な自分のような者にアドバイス感謝しています。
>>BREW はライセンス面がハードルになりますが…。
最後にも一つだけ訊かせてください。
ライセンスという言葉で思い出したのですが、
もちろんこれも自分で調べる分野なのでしょうが少し言葉が出ていたので。
一般に特許や著作権というと資本的弱者の発明家のための権利というイメージですが、
プログラムやソフトウェア、開発された言語は守られるのか気になりました。
というよりVBは商業利用を許されているといってもMSのものですし、
ここで勉強している全員に言えるかもしれませんが、
何か画期的なソフトウェアを開発したとしても、法律によって保護されるのかは気になるところです。
よくライセンス使用料といった言葉を聞きますが、あれは特許というよりやはり著作権によって
生じる権利という理解でよいのでしょうか。
自分がそうだからといって皆もそうだと言うのは良くないのでしょう。
それでも社会に貢献するプログラムを作り出せたら誠実な対価は誰でも得たいと思うはずですし。
皆さんも開発後の権利についてやはり勉強されているのでしょうか。
一つでもいいから正規の製品化を夢見る者としては保護の対象になり得るか非常に気になるところです。
他方でデファクトスタンダードとなるのが重要で、権利関係は考えるなという意見もあるようですが、
たとえばフリーなどでも、かなり有名になっているソフトがありますが、
定番になったからといってビズネスモデルがなければ活かされないでしょうし、
そうすると素直に自分の作り出したアプリに保護を与えたいと思いまして。
大きな会社は別として、地元の新聞に載るような中小企業による何らかの新システムは、
やはり使用料を収入源とするビジネスモデルが多いように見えます。
まだ先の話で、笑い飛ばされるならまだしも、ヒンシュクすら買いそうな話かもしれませんが、
皆さんは自作アプリの法的保護についてどように考えているのでしょう。
まだ何を完成させたわけでもない、
未知というより未熟な自分のような者にアドバイス感謝しています。
>>BREW はライセンス面がハードルになりますが…。
最後にも一つだけ訊かせてください。
ライセンスという言葉で思い出したのですが、
もちろんこれも自分で調べる分野なのでしょうが少し言葉が出ていたので。
一般に特許や著作権というと資本的弱者の発明家のための権利というイメージですが、
プログラムやソフトウェア、開発された言語は守られるのか気になりました。
というよりVBは商業利用を許されているといってもMSのものですし、
ここで勉強している全員に言えるかもしれませんが、
何か画期的なソフトウェアを開発したとしても、法律によって保護されるのかは気になるところです。
よくライセンス使用料といった言葉を聞きますが、あれは特許というよりやはり著作権によって
生じる権利という理解でよいのでしょうか。
自分がそうだからといって皆もそうだと言うのは良くないのでしょう。
それでも社会に貢献するプログラムを作り出せたら誠実な対価は誰でも得たいと思うはずですし。
皆さんも開発後の権利についてやはり勉強されているのでしょうか。
一つでもいいから正規の製品化を夢見る者としては保護の対象になり得るか非常に気になるところです。
他方でデファクトスタンダードとなるのが重要で、権利関係は考えるなという意見もあるようですが、
たとえばフリーなどでも、かなり有名になっているソフトがありますが、
定番になったからといってビズネスモデルがなければ活かされないでしょうし、
そうすると素直に自分の作り出したアプリに保護を与えたいと思いまして。
大きな会社は別として、地元の新聞に載るような中小企業による何らかの新システムは、
やはり使用料を収入源とするビジネスモデルが多いように見えます。
まだ先の話で、笑い飛ばされるならまだしも、ヒンシュクすら買いそうな話かもしれませんが、
皆さんは自作アプリの法的保護についてどように考えているのでしょう。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2008/11/18 03:30:51
URL を間違えていたので修正。
「チューリング完全」の説明はこちら。
http://ja.wikipedia.org/wiki/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E5%AE%8C%E5%85%A8
# 法的な話の件は、知識がないのでパス。(^^;
「チューリング完全」の説明はこちら。
http://ja.wikipedia.org/wiki/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E5%AE%8C%E5%85%A8
# 法的な話の件は、知識がないのでパス。(^^;
投稿者 nightmare  (社会人)
投稿日時
2008/11/18 08:56:36
レス失礼します。
関係のない話または、知っていらしゃいましたら流して見をして頂くと
いいかもしれません(汗)
私の参考書からです。
・ソフトウェアの著作権
無料で利用できるフリーソフトウェアであっても、著作権は放棄
されていません。
・保護されるもの:表現としてのプログラム、データベース
・保護されないもの:アイデア、ノウハウ、アルゴリズム、プログラム言語
著作権がプログラムである場合、以下の2点の場合は同一性保持権について例外、
つまり改変が認められています。
・特定の機種だけで利用できるプログラムを他の機種でも利用できるように移植する場合
・バグの除去や性能・機能を向上させる場合
著作権の帰属先
例えば、個人が業務で作成したプログラムの著作権は、その個人が所属する法人に
帰属します。ソフトウェアを請負契約で発注し、契約書に特段の定めがない場合、
ソフトウェアの著作権は受注側に帰属します。
・バックアップ
バックアップ目的のコピーは許されるそうです。
・データベースの著作権
保護の対象となるデータベースは、各種の情報をコンピュータを用いて検索できる
ように体系的に構成されたもの、とされています。個々のデータに著作権がなくても、
データベース自体に創作性があれば保護されます。
です。なんだか丸々と参考書から持ってきてしまった(汗)
細かくは私も勉強不足でわかりません(汗)
関係のない話または、知っていらしゃいましたら流して見をして頂くと
いいかもしれません(汗)
私の参考書からです。
・ソフトウェアの著作権
無料で利用できるフリーソフトウェアであっても、著作権は放棄
されていません。
・保護されるもの:表現としてのプログラム、データベース
・保護されないもの:アイデア、ノウハウ、アルゴリズム、プログラム言語
著作権がプログラムである場合、以下の2点の場合は同一性保持権について例外、
つまり改変が認められています。
・特定の機種だけで利用できるプログラムを他の機種でも利用できるように移植する場合
・バグの除去や性能・機能を向上させる場合
著作権の帰属先
例えば、個人が業務で作成したプログラムの著作権は、その個人が所属する法人に
帰属します。ソフトウェアを請負契約で発注し、契約書に特段の定めがない場合、
ソフトウェアの著作権は受注側に帰属します。
・バックアップ
バックアップ目的のコピーは許されるそうです。
・データベースの著作権
保護の対象となるデータベースは、各種の情報をコンピュータを用いて検索できる
ように体系的に構成されたもの、とされています。個々のデータに著作権がなくても、
データベース自体に創作性があれば保護されます。
です。なんだか丸々と参考書から持ってきてしまった(汗)
細かくは私も勉強不足でわかりません(汗)
投稿者 刈谷勇  (社会人)
投稿日時
2008/11/18 22:55:48
こんにちは、リスナーさん。
携帯電話用のVBアプリというわけではないですが、携帯電話で動くプログラムに興味があるのであれば、
下記のリンクなんかも参考になるのでは。
たまたま見つけた、JAVAの入門講座なので、必要が無かったらスルーしてください。
http://www.atmarkit.co.jp/fjava/index/index_keitaigram.html
携帯電話用のVBアプリというわけではないですが、携帯電話で動くプログラムに興味があるのであれば、
下記のリンクなんかも参考になるのでは。
たまたま見つけた、JAVAの入門講座なので、必要が無かったらスルーしてください。
http://www.atmarkit.co.jp/fjava/index/index_keitaigram.html
投稿者 リスナー  (学生)
投稿日時
2008/11/19 03:27:18
やあ眼福、眼福って感じです。
なんとさらにレスが増えているじゃあありませんか!
nightmareさん、刈谷勇さん、はじめまして。
魔界の仮面弁士さん、ラキシスさん、るきおさん、たちもそうですが、
掲示板には通りすがりを装いつつも詳細なアドバイスや率直なご意見をくれる方が大勢いて
いつも助けられています。
刈谷勇からはjavaプログラムについて参考ページを、
nightmareさんからは法的な情報をいただきまして、ありがとうございます。
>>たまたま見つけた、JAVAの入門講座なので、必要が無かったらスルーしてください。
いえいえ、ざっと眼を通したのですが、携帯利用者の手元に届くまでの詳細な流れがありますね。
非常に有益な情報ありがとうございます。
>>・保護されるもの:表現としてのプログラム、データベース
・保護されないもの:アイデア、ノウハウ、アルゴリズム、プログラム言語
法的な部分についてですが、プログラムは保護されて、アルゴリズムは保護されないとか、
さらにプログラム言語も保護されないなど、区別はつくようで、どうも分かりが悪いのか、
私も調べてはいるのですが、いまひとつ疑問が残ります。
よくライセンスと言いますが、あれは著作権なのか、特許なのか、よく分からない現在の私なのですね。
教えてもらったようにプログラム自体は保護されるようですが、
私が書くコードの場合、誰にでも知られている文法のみで記されたプログラムでしょうから、
それでも保護されるのかなど、かなり疑問点もあるのですね。
フリーウェア作者のサイトなどを訪問してどのようにしているのかを読んでも、
ライセンス使用料の根拠とか保護の要件が著作権に依拠しているのか、
それとも特許に依拠しているのか、どうにも見えて来ないのです。
ただ、プログラム言語が対象外というのは初期のマイクロソフトBASICの逸話から察するものがあります。
あれはコピーがひどかったようですね。
使用料を払うべきとマイクロソフトが言ってもやまなかったとか。
やっぱり保護の対象外だったということでしょうか。
でもVBってインストールだったか起動だったかの際に、
ライセンスされているみたいな事が書かれていますよね。
例えば家計簿アプリを作ったとして、これは類似が出て来ても保護されるのですかね。
消費者の視点に合わせると独自の順番で計算をするアプリなんかも作れると思うのです。
しかし計算はやり方だから保護の対象外でしょうし、
けれども計算部分のプログラムは保護の対象ということになります。
あまり深入りする分野でもないのでしょうが。
ちょっと余話っぽくなってきたので、法的な話は私からは以上にしますね。
とにかく皆さんありがとうございました。
なんとさらにレスが増えているじゃあありませんか!
nightmareさん、刈谷勇さん、はじめまして。
魔界の仮面弁士さん、ラキシスさん、るきおさん、たちもそうですが、
掲示板には通りすがりを装いつつも詳細なアドバイスや率直なご意見をくれる方が大勢いて
いつも助けられています。
刈谷勇からはjavaプログラムについて参考ページを、
nightmareさんからは法的な情報をいただきまして、ありがとうございます。
>>たまたま見つけた、JAVAの入門講座なので、必要が無かったらスルーしてください。
いえいえ、ざっと眼を通したのですが、携帯利用者の手元に届くまでの詳細な流れがありますね。
非常に有益な情報ありがとうございます。
>>・保護されるもの:表現としてのプログラム、データベース
・保護されないもの:アイデア、ノウハウ、アルゴリズム、プログラム言語
法的な部分についてですが、プログラムは保護されて、アルゴリズムは保護されないとか、
さらにプログラム言語も保護されないなど、区別はつくようで、どうも分かりが悪いのか、
私も調べてはいるのですが、いまひとつ疑問が残ります。
よくライセンスと言いますが、あれは著作権なのか、特許なのか、よく分からない現在の私なのですね。
教えてもらったようにプログラム自体は保護されるようですが、
私が書くコードの場合、誰にでも知られている文法のみで記されたプログラムでしょうから、
それでも保護されるのかなど、かなり疑問点もあるのですね。
フリーウェア作者のサイトなどを訪問してどのようにしているのかを読んでも、
ライセンス使用料の根拠とか保護の要件が著作権に依拠しているのか、
それとも特許に依拠しているのか、どうにも見えて来ないのです。
ただ、プログラム言語が対象外というのは初期のマイクロソフトBASICの逸話から察するものがあります。
あれはコピーがひどかったようですね。
使用料を払うべきとマイクロソフトが言ってもやまなかったとか。
やっぱり保護の対象外だったということでしょうか。
でもVBってインストールだったか起動だったかの際に、
ライセンスされているみたいな事が書かれていますよね。
例えば家計簿アプリを作ったとして、これは類似が出て来ても保護されるのですかね。
消費者の視点に合わせると独自の順番で計算をするアプリなんかも作れると思うのです。
しかし計算はやり方だから保護の対象外でしょうし、
けれども計算部分のプログラムは保護の対象ということになります。
あまり深入りする分野でもないのでしょうが。
ちょっと余話っぽくなってきたので、法的な話は私からは以上にしますね。
とにかく皆さんありがとうございました。
理解の仕方として正しくないのかもしれません。
とりあえず私の中でVBはWindows上で動くもの。
こういった理解をしています。
携帯にもWindowsが採用されているとの事ですが、有望株なOSが乱立状態だという話もあります。
日ごろ自分や周囲で使っている携帯にはどういったOSが採用されいるのか。
とにかく各種キャリアで動作可能なアプリをVBで作る事は可能でしょうか?
Windowsと一口に言ってもPCと携帯とではかなり違うのでしょうし。
Windows携帯みたいな機種があったと思うのですが、
そこに入っているWindowsもやはりPC版とはだいぶ違うのでしょうか?
ちらと聞いた話ではPC版のOSは自作が少し流行したそうですが携帯OSとなると個人では無理だとか。
そのあたりも含めてPCでプログラミングしたVBアプリが各種キャリアで動作するのかどうか知りたいです。