かつおの「もっと教えてくれや!」
#11_楽々Framework3 で楽々とプログラムを作るで!
みなさんこんにちは、かつおです。
今回で最終回、お会いできるのも最後です。
長い間ご愛読いただき誠にありがとうございます。
皆様のご期待に応えられるよう精進していきたく思いますので、これからもどうぞよろしくお願いいたします。
ってなわけで、最終回、始まります。
![かつお](/framework/column/images23/tmb/katsuo.webp)
今日はいい天気やのぉ。中島くんおはよーさん。
ってあれ、まだ来とらんのか
![中島](/framework/column/images23/tmb/nakajima.webp)
はぁはぁ、どうにか間に合いました。
おはようございます
![かつお](/framework/column/images23/tmb/katsuo.webp)
おう、おはようさん。ようやく来たか。
こんなギリギリに珍しいやないか
![中島](/framework/column/images23/tmb/nakajima.webp)
昨日なかなか寝れなくて、ついつい寝過ごしてしまいました
![かつお](/framework/column/images23/tmb/katsuo.webp)
なんや、どうせ昨日飲みすぎたんやろ
![中島](/framework/column/images23/tmb/nakajima.webp)
まぁ そんな感じですね……
![かつお](/framework/column/images23/tmb/katsuo.webp)
そんな日もあるわな。じゃあ今日も一日がんばるぞい!
![中島](/framework/column/images23/tmb/nakajima.webp)
はい。がんばるぞい!
キーンコーンカーンコーン
![かつお](/framework/column/images23/tmb/katsuo.webp)
ふぅ 今日は意外と早く仕事片付いたわ。
中島くんはどうや、順調か
![中島](/framework/column/images23/tmb/nakajima.webp)
うーん。なかなかですね
![かつお](/framework/column/images23/tmb/katsuo.webp)
おい、中島くんどうしたんや!?
まぶたがえらい勢いで
ピクピク
しとるぞ!?
![中島](/framework/column/images23/tmb/nakajima.webp)
えっ、そうですか?
さっきから目に違和感があると思ったら、どうりで……
![かつお](/framework/column/images23/tmb/katsuo.webp)
顔色もあんまよくないやないけ。今日ははよ帰った方がええんちゃうか
![中島](/framework/column/images23/tmb/nakajima.webp)
そうしたいんですが、今日中に作らないといけないプログラムがまだあるんです
![かつお](/framework/column/images23/tmb/katsuo.webp)
そりゃ大変やの。今日は仕事はよ片付いたし、手伝ったろか
![中島](/framework/column/images23/tmb/nakajima.webp)
いえ、そんなの悪いですよ。
たまにはふぐ本さんも早く帰ってください
![かつお](/framework/column/images23/tmb/katsuo.webp)
何言っとるんや、困った時はお互い様やろ
![中島](/framework/column/images23/tmb/nakajima.webp)
うぅ……いいんですか?
![かつお](/framework/column/images23/tmb/katsuo.webp)
おれに任せろ!
![中島](/framework/column/images23/tmb/nakajima.webp)
ありがとうございます。じゃあお言葉に甘えさせてもらいます。実はプログラムまだまだあったんです
![かつお](/framework/column/images23/tmb/katsuo.webp)
おう、じゃあこのプログラムをおれが作ったるわ。
プログラム作成の基本的な流れはこうやったな
![プログラム作成の基本的な流れ図](/framework/column/images23/rakrakframework/ka11-1.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
よしゃ、まずは
FD(テーブル情報の定義)
からや。
今回はテーブルを新規に作るから、既存のテーブルから逆生成する『テーブル定義逆生成(第1回:RakStudioを使おう!~テーブル定義逆生成ってなんぞや?~)』 やなくて、「テーブル定義/FD」から新規作成やな
![かつお](/framework/column/images23/tmb/katsuo.webp)
ER図で定義したテーブル構成の通りに、フィールド名や属性を入力してっと
![FD(テーブル情報の定義)の図](/framework/column/images23/rakrakframework/ka11-2.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
よっしゃ、こんなもんか。じゃあ次はプロトタイプの作成や。
定義したテーブル定義情報を基に、ワンクリックで『プロトタイプ生成(第2回:RakStudioを使おう!~プロトタイプを作りたいんや!~)』や!
![プロトタイプの作成の図1](/framework/column/images23/rakrakframework/ka11-3.webp)
![プロトタイプの作成の図2](/framework/column/images23/rakrakframework/ka11-4.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
よーし、いい子だ…… Complete!
![中島](/framework/column/images23/tmb/nakajima.webp)
それぼくの真似ですか。聞いてたら恥ずかしいのでやめてください
![かつお](/framework/column/images23/tmb/katsuo.webp)
せやろせやろ。聞いてる側はそんな気持ちなんやぞ。
でもやってみると気持ちいいもんやな。次からも隣に中島くんおる時はやったるわ
![中島](/framework/column/images23/tmb/nakajima.webp)
もう言うのやめよう……
![かつお](/framework/column/images23/tmb/katsuo.webp)
ほい、プロトタイプができましたと
![プロトタイプの完成の図](/framework/column/images23/rakrakframework/ka11-5.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
次は、作ったプロトタイプのプログラムを基に
パターンの追加
やな。たしかこの『パターンの選択(第3回:RakStudioを使おう!~パターンとページは極力いじるな?~)』が肝やったな。
できるだけ要件に合ったパターンを選ぶことで、後からカスタマイズする必要が減って、開発と保守のコストを低減できるわけやな
![パターンの追加でコスト低減](/framework/column/images23/rakrakframework/ka11-6.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
とは言っても、パターン多すぎやろ。どれ選んだらええか分からんようになってきたぞ。
この前選び方教えてもろたけど、忘れてしもたわ
![中島](/framework/column/images23/tmb/nakajima.webp)
そんな時は『 パターンサンプル 』を活用したらいいですよ
![パターンサンプルの図1](/framework/column/images23/rakrakframework/ka11-7.webp)
![パターンサンプルの図2](/framework/column/images23/rakrakframework/ka11-8.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
おお、そんなんもあったな。各パターンの動作と設定方法を見れるやつやな。
久々にみたらえらいサンプルの数増えてるやないけ
![中島](/framework/column/images23/tmb/nakajima.webp)
そうなんですよ。最近続々と増えてますよ。
ここを見るとどんなパターンが要件に近いか実際に試せて便利なんで活用してください
![かつお](/framework/column/images23/tmb/katsuo.webp)
せやな。最近すぐ忘れるようになってもうたからな。
手軽やし、こっから確認するようにするわ
![中島](/framework/column/images23/tmb/nakajima.webp)
これで土台ができあがったら、あとは 画面やコンポーネント追加、レイアウトの調整 ですね
![かつお](/framework/column/images23/tmb/katsuo.webp)
まずは、
画面やコンポーネントの追加
や。
これはドラッグ&ドロップでちょちょいのちょいやな
![画面やコンポーネントの追加の図1](/framework/column/images23/rakrakframework/ka11-9.webp)
![画面やコンポーネントの追加の図2](/framework/column/images23/rakrakframework/ka11-10.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
次は画面の
レイアウトの調整
やな。項目の表示や並びを変更や。
これもマウスカチカチで一瞬やから、勢いにのって各画面どりゃーって設定したるで
![中島](/framework/column/images23/tmb/nakajima.webp)
ちょっとまったあああ!!!
![かつお](/framework/column/images23/tmb/katsuo.webp)
どうしたんや。
まぶたピンピクさせながら急に大声だすからビックリしたで
![中島](/framework/column/images23/tmb/nakajima.webp)
画面毎に設定するんじゃなくて、同じ種類の画面をまとめて共通で設定できる
『共通画面設定(第4回:RakStudioを使おう!~共通画面で作業効率をあげろ!~)』があるんでそれを活用しましょうよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
おお、そやったそやった。
これで共通設定としてまとめて設定しておいたら、後から変更する時もまとめてできるし二重にお得やったな。得するのは好きやで。
じゃあ ささっと共通設定も使ってレイアウトを整えてまうかいなっと
![共通画面設定の図](/framework/column/images23/rakrakframework/ka11-11.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
よっしゃ、できたで!
これでもうほぼほぼ要件満たしたわ。もうこれでええやろ。完成や!!
![中島](/framework/column/images23/tmb/nakajima.webp)
ええ……たしかに要件の九割ぐらいは満たしてますが、あと少し足りないです。
手伝ってもらっておきながら言うのも忍びないですが、あともう少しお願いしますよぉ
![かつお](/framework/column/images23/tmb/katsuo.webp)
なんや、中島くんは細かいのぉ。
まぁそこまで言うなら分かったわ。今日は中島くん感謝デーやからな
![中島](/framework/column/images23/tmb/nakajima.webp)
ありがとうございます~
ふぐ本さんの優しさに涙ちょちょぎれます
![かつお](/framework/column/images23/tmb/katsuo.webp)
後は要件独自の処理の組み込みやな。
まぁこれも
ロジックを追加
するだけやからたいした手間でもないわ
![かつお](/framework/column/images23/tmb/katsuo.webp)
実行するタイミング、実行する条件、アクション(処理)を決めて、『ロジックとして設定(第5回:RakStudioを使おう!
~ロジックでユーザビリティをあげろ!~)』すればええだけや!
なんも難しいことありしまへんがな
![ロジックとして設定の図](/framework/column/images23/rakrakframework/ka11-12.webp)
![かつお](/framework/column/images23/tmb/katsuo.webp)
ロジック実行のタイミングを設定する『実行タイミング(第6回:RakStudioを使おう! ~ロジックを使いこなせ!~)』については、
この前中島くんに教えてもろたからもう完璧やで!
![中島](/framework/column/images23/tmb/nakajima.webp)
さすがふぐ本さんです!
![かつお](/framework/column/images23/tmb/katsuo.webp)
よっしゃ、これでもう完成や!
![中島](/framework/column/images23/tmb/nakajima.webp)
あともうちょっと、ちょっとだけ待ってください。
あと数パーセントだけ、どうしてもロジックでは実現できていない要件が残ってます
![かつお](/framework/column/images23/tmb/katsuo.webp)
はいはい。わかっとるがな。
設定でできない独自の処理部分は
プラグイン
で対応するんやろ。
ここからは早回しで進めるで!
![かつお](/framework/column/images23/tmb/katsuo.webp)
ちょうどいい
オプションやパラメータ
もなかったから、『プラグインで独自処理を実装(第7回:設定で駄目ならプラグイン!?)』して完成や!
ついでに『動作確認してデバッグ(第8回:デバッグ機能でエラー解決や!)』もしといたるわ!
最後のサービスやで。『構成管理機能(第9回:構成管理で変更履歴を管理や!)』で作ったプログラムをSVNサーバに
コミット
しといたる!
これでどうや!!!
![中島](/framework/column/images23/tmb/nakajima.webp)
ふぐ本さん! 完璧です!!!
![かつお](/framework/column/images23/tmb/katsuo.webp)
せやろせやろ。おれが本気だしたらこんなもんやで。
最後本気出しすぎて疲れたわ。中島くんはもう終わったんか?
![中島](/framework/column/images23/tmb/nakajima.webp)
うーん。あともう少しですね。
このプログラムが完成したら今日は終わりです
![かつお](/framework/column/images23/tmb/katsuo.webp)
おお、じゃあ待っといたるわ。せっかくの花金や。飲みにいくでー
![中島](/framework/column/images23/tmb/nakajima.webp)
えぇ……今日はそんな気分じゃなかったんですけど。
まぶたもピクピクして……ってあれ? 止まってる
![かつお](/framework/column/images23/tmb/katsuo.webp)
飲みに行くって聞いた瞬間に止まっとったぞ。
はよ終わらせて出発や!
~数時間後~
![中島](/framework/column/images23/tmb/nakajima.webp)
この店初めてですね。すごいお洒落なバーじゃないですか
![かつお](/framework/column/images23/tmb/katsuo.webp)
せやろ、とっておきや
![中島](/framework/column/images23/tmb/nakajima.webp)
でもぼく今日はそんな手持ちないですよ
![かつお](/framework/column/images23/tmb/katsuo.webp)
大丈夫や。おれ達にはこれがあるやないか
![中島](/framework/column/images23/tmb/nakajima.webp)
今までのお釣りを貯めてた貯金箱じゃないですか!
![かつお](/framework/column/images23/tmb/katsuo.webp)
せや。最近何か辛いことでもあったんやろ。今日ぐらいはこれでパーっといこうや!
![中島](/framework/column/images23/tmb/nakajima.webp)
そうなんです……最近また女の子に振られてしまって
![かつお](/framework/column/images23/tmb/katsuo.webp)
なんや、そんなことはおれもいくらでもあるで! 失敗を繰り返して人は成長していくんや
![中島](/framework/column/images23/tmb/nakajima.webp)
でも もうぼくには何もないんです
![かつお](/framework/column/images23/tmb/katsuo.webp)
何を言っているんや! 君には 楽々Framework があるやないか!
![中島](/framework/column/images23/tmb/nakajima.webp)
はっ、そうだ! 何で忘れてたんだろう……
ぼくには
楽々Framework
があったんだ!!
![かつお](/framework/column/images23/tmb/katsuo.webp)
そうや! 楽々Framework さえあれば、仕事も恋も楽々や!
![かつお](/framework/column/images23/tmb/katsuo.webp)
![中島](/framework/column/images23/tmb/nakajima.webp)
楽々Framework ばんざーい! ばんざーい! ばんざーい!
<終わり>
っということで、今回で最終回、終わりです。
今までご愛読ありがとうございました。
かつおのブログは今回で終わりですが、楽々Framework3はこれからもどんどん進化していきます。
これからもどうぞよろしくお願いいたします。