IT業界トレーニーの者です。
この業界に入って研修で4ヶ月間VBを勉強してきて、やっとこさ基本的な操作方法やオブジェクト指向について理解できるようになりました。
ですが、フレームワークの意味がどうしても理解できません。
よく、「アプリケーションの雛形、枠組みで、肉付けをすればよいので効率が上がる」などと書かれていますが、結局のところ何を指しているのでしょうか?
今現在の自分の解釈ですと、フォームやボタンなどがプログラミングせずとも最初から使えること、なのかな~とも思うのですが、しっくりきません。「ボタン」そのものがフレームワークなのか(つまりボタンにグラフィックやメソッドが実装されていること)、「ボタンを押せばメソッドが呼び出されるような仕組みになっていること」がフレームワークなのか、両方とも違うのか。GUIがフレームワークなのだとしたら、GUIのないフレームワークもある(?)らしいのでそれは何がフレームワークなのか。
もしフレームワークが無かったら、フレームワークを作るところからはじめる、と言いますが、たとえばVBで電卓を作ろうとして、フレームワークがなかった場合、何を作ることがフレームワークを作ることなのでしょうか?
別の仕事とは別に自宅のMacでCocoaを学んでいてVBとの違いに壁を感じて、何が違うか調べていたら、Cocoaフレームワークが理解できていないらしい→フレームワークって何だ?と思った次第です。
知識不足でお恥ずかしいのですが、是非とも皆様の解釈をお聞かせいただければと思います。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
>VBで.NetFrameWorkの機能を利用して、.NetFrameWorkはWindows APIを利用しているってことでしょうか。
ボタンのコントール自体は、WindowsAPIで実装されています。それを.NetFrameWorkでクラス化しているといった感じでしょうか。
>純粋なVBのクラスってのは例えば何になるのでしょうか?
>コントロールはどの言語からも使えることから見て.NET FrameWorkですよね。StringやArrayなんかはVBのクラスになるのでしょうか。
私はネイティブなVC++派で.NetFrameworkは、ちょっとC#とかをかじっただけなので勘違いしているかも?よって断言は出来ませんが、たぶんVBのクラスだと思います。
No.2
- 回答日時:
フレークワークは、骨組みであると同時に作る物を枠にはめることで作ることを容易にする物です。
例えば、ガンダムのプラモデルを説明所通りに作ること(フレームワークによるプログラミング)は比較的容易ですが、フルスクラッチ(粘土等)でガンダムを0から作ることは(GDIだけでGUIのプログラミング)容易ではありません。
プラモデルの部品を組み合わせて独自の形状(色々なGUIアプリの作成)が可能ですが、それでも部品レベルで見ると元の形状(使用しているコントール)はそのまま残っています。
>「ボタン」そのものがフレームワークなのか(つまりボタンにグラフィックやメソッドが実装されていること)、「ボタンを押せばメソッドが呼び出されるような仕組みになっていること」がフレームワークなのか、両方とも違うのか。
両方とも(ボタンのコントロールは)GUI作成のためのフレームワークです。そもそもWindowsAPI自体もWindowsを構成するフレームワークであり、それをラップしている.NetFrameworkも名前通りフレームワークです。
画面を書き換える流れは、
VB→.NetFramework→WindowsAPI→画面
と複数のフレームワークを経由して制御されていることになります。
実は、マイクロソフトはWindowsVistaで
VB→.NetFramework→画面
する計画があった様ですが挫折しています。
>もしフレームワークが無かったら、フレームワークを作るところからはじめる、と言いますが、たとえばVBで電卓を作ろうとして、フレームワークがなかった場合、何を作ることがフレームワークを作ることなのでしょうか?
点を描く、線を描く、四角形を塗りつぶすなどが基本的な描画機能ですが、これだけでボタンを描くにはどうしましょう?
ボタンのコントールがあるじゃないかと言われたら、それがフレームワークです。GUIにボタンがあるってこと自体がフレームワークに沿って作っている訳で、まずボタンというオブジェクトを作らなくてはいけません。
ボタンだけでもボタン形状、マウスとのインターフェイス、押された時などのアクションや動作など作るものは沢山あります。
なるほど、少しずつ掴めてきました。
しっかし、複雑なんですね。
VBで.NetFrameWorkの機能を利用して、.NetFrameWorkはWindows APIを利用しているってことでしょうか。
知れば知るほど新たな疑問(と興味)がわいてきます^^;
純粋なVBのクラスってのは例えば何になるのでしょうか?
コントロールはどの言語からも使えることから見て.NET FrameWorkですよね。
StringやArrayなんかはVBのクラスになるのでしょうか。。
No.1
- 回答日時:
いわゆる土台、枠組みですね。
電卓という例で考えると、
外枠やボタンの枠という部分になるのでしょう。
フレームワークを使って開発することにより、独自に必要とされる部分だけを開発すれば済むため開発効率の向上が見込めるだけでなく、複数人で開発する場合に同じようがGUIになったり、同じような動作するアプリケーションの作成が可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP クラス 1 2022/08/08 15:12
- JavaScript Python Java,Springフレームワークの習得 1 2023/08/02 15:28
- その他(プログラミング・Web制作) .netに近いjsフレームワークは何ですか 2 2022/05/12 22:28
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- C言語・C++・C# ご本について 著者は、Linuxでも、言語と、フレームワークが同じの場合、大丈夫とおもいますか? 4 2022/09/09 21:35
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- 会社経営 新規事業開発について 製造業に勤めています。所謂大企業で、多数の事業を抱えています。アフターコロナと 2 2023/07/26 20:44
- 物理学 「量子多体系による曲がった時空における場の量子論のシミュレーション」と言う論文で「さらに、我々の結果 1 2023/04/03 08:45
- 物理学 「量子多体系による曲がった時空における場の量子論のシミュレーション」と言う論文で「さらに、我々の結果 1 2023/04/02 19:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索ボタンなどに使う虫眼鏡の...
-
子画面を読んだ後親画面のRecor...
-
VB.net webアプリケーション 戻...
-
VC++にてボタン等のサイズ取得
-
VB2010で4択問題
-
これはなんとゆってるんですか?
-
フォルダーに緑のレ点と赤の✖が...
-
oppo reno 7A
-
windows10のアプリと機能にyout...
-
Windows10でアプリを完全に消去...
-
Windows10(64bt)でWindow8以前...
-
レイノルズ数が4000より大きい...
-
VB2005 BackgroundWorkerの使用
-
システムの復元ポイントにCheck...
-
Beckyのアドレス帳を上下に移動...
-
フリーソフトをうまくダウンロ...
-
[python]スクリプトから起動で...
-
MFCでデータベースを
-
インターネットオフライン環境...
-
RUNASA
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.net webアプリケーション 戻...
-
VC++にてボタン等のサイズ取得
-
xampp Apacheの「Admin」の管理...
-
子画面を読んだ後親画面のRecor...
-
チェックボックスの値を次画面...
-
iPad トップアイコンの消し方
-
HTMLで投票ボタンを作りたい
-
地デジのNHKでのリモコン投票に...
-
iPhoneの自動回転機能を切りたい
-
Web画面の自動更新ボタンを押し...
-
WordPressで1回だけ表示可能な...
-
resetボタンの判別
-
ツールバーを用意したい。
-
ボタンの背景色を変更する方法
-
これはなんとゆってるんですか?
-
検索ボタンなどに使う虫眼鏡の...
-
フレームワークって何でしょう?
-
Wordやマイドキュメントを終了...
-
画面の右上の×をキーボードで操...
-
iphoneプログラミング OpenGL ES
おすすめ情報