読者です 読者をやめる 読者になる 読者になる

OutSystemsエンジニアの猛勉強ブログ

初心者OutSystemsエンジニアのブログです(ぺこり)。

OutSystemsで電話帳を編集するぞ!1.5

前回作った電話帳に編集機能を実装させるぞ!
これによって、私の電話帳は電話番号や名前の変更と上書き保存ができるようになるのだ。
まさにネオ電話帳へと進化するのである。

1.5

(一本道のアルゴリズムなのだ!)
それでは、真面目な説明に入ります。

トレーニング1.5の内容は、
前回のトレーニングで作った電話帳アプリをOutSystemsで開いてみたところ、警告メッセージが表示されてました。そのWarning(日本語で「注意しなさい!」)の問題を解き明かし、その問題、つまり、ユーザーの入力フォームのデータをサーバに送るコードの実装がないことによる編集できないアプリなんだけどいいの?
というOutSystems氏からの警告を理解し、顧客情報の編集機能の実装を行うということです。

下の動画にもそう書いてあります。

という訳で修正コードを書いていきます。
このままでは実用化が難しいアプリだから、OutSystemsが編集可能なアプリにしたほうがよくね?
とエンジニアにご指摘しているため、OutSystems氏の言うことを聞きたいと思います。

すごい時代です。エンジニアがソフトウェアと会話しています。

「保存ボタン」をドラッグアンドドロップして実装する。
ボタンの挿入までドラッグアンドドロップ(笑)

説明が難しくて分からない。
でも↑を日本語化すると

ボタン貼るべ!!

になります。

ボタンの配置場所(私のOutSystems画面↓)

f:id:neomatsudaira:20160201112447p:plainドロップする場所はここだよん。
すごく繊細。なんで、こんなミリ単位でドラッグアンドドロップしないといけないんですかね!

OutSystemsはコードが汚かったり間違っていると、パプリッシュ(コンパイル)できないです。
コンパイルっていうのはプログラマーが作ったソフトウェアを、実際に動くアプリケーションにパソコンが組み立ててくれることです。
だから、全部作り終わったり、途中でどれくらいソフトができたかを確認するためにプログラマーはコンパイルを押します。OutSystems Platformの場合、コンパイルのことをパブリッシュといいます。これによって、ソフトウェアがソフトウェアを組み立ててくれて、実際に動くソフトウェアにしてくれます。

で、OutSystemsはコードが汚かったり、バグがあると、コンパイルボタンが赤く染まり、コンパイルさせてはくれないのです。

下の画像の上の部分がパブリッシュ(コンパイル)ボタンです。赤く染まってますね。よって、まだどこかにバグがあるため、ソフトがソフトを組み立ててはくれないのです。バグが取れるまでは赤く染まったままです。

f:id:neomatsudaira:20160201112514p:plain(上は私の画面。オレンジ色で「Save」というボタンが生成されていますね。そして、赤く染まっているということは、どこかにバグがあるということを意味しています)

OutSystemsは、ここら辺がとてもえげつないです。
コンパイルボタンすら押させてくれない。だけど、こういう機能があると、私みたいなノンプログラマでも、というか誰でも、ある程度以上の綺麗なソースコードが書けてしまいます。

ある程度の品質が保証されているのです。

これらは、汚いコードやエラーが起きる(明らかなバグが含まれる)コードは、それ自体で既にコンパイルできないということです。

コンパイルできないということは、OutSystemsは私たちが作ったコードを

おめ、それエラー入ってるけぇ、まだソフトウェア化しちゃダメだべ!!

と言ってくれている、ということです。

すごい時代ですね!!

超高速開発ツールにおけるソフトウェア開発の現場ではソフトウェアがソフトウェアを作るのです。だから明らかなバグの含まれているソフトはOutSystemsというソフトがソフトを作ってはくれないのです。

ある程度以上に高品質な設計でないとソフトウェアを生成してはくれない。
よって、ソフトウェア生成の前に、バグが未然にある程度なくなってしまうのです。ここら辺は賛否両論あると思うけど、自分みたいな初心者はどのようにコードを書いたとしても綺麗に書けてしまうのであれば、こういう機能はアリだと思う。

だって、匠の技と言えるくらいのベテランプログラマーでないとコードが読めなかったり、書けなかったりした複雑なコードと同じものか、それ以上のコードを初心者エンジニアの自分が書けたとしたら

(このIDEは全部英語で最悪だけど) 

その英語の山さえ登りきることができたのなら、プログラミング未経験の私でも最初から綺麗なコードが書けるかもしれないから、こういう機能はありだと思ってます。

ここも、「Screen Action」なんて書かずに

「保存ボタンを押したときに発動するプログラム」

とか書いとけばいいのに、ほんともったいない。
たとえば、自動販売機でお金を入れて、欲しいジュースのボタンを押したときに発動するプログラム。

それが「Screen Action」

とか書けばいいのにねと文系エンジニアとしては思われるのである。

説明が半分以上英語である件について。
ちなみにプロパティってなんなのか分からないでコード書いてます(笑)。

Saveボタンの発動コードの紐付

とか書けばいいのに、いちいち難解なIT用語を駆使するため、理解が進みづらいのですが、要するに保存ボタンを押したときのアルゴリズムをこれから書くからその関数をボタンに結び付けましょうね

と言っているだけなのであった。

f:id:neomatsudaira:20160201112530p:plain(1本道のアルゴリズムw w w w w w)

顧客情報をアップデートするアルゴリズム内のアップデートメソッドすらもがドラッグアンドドロップ1つでコードレスに生成されてしまいます。

とんでもないことをしているのに、ドラッグアンドドロップしかしていないため、どれくらいすごいのかがあまり分からないという状況にノンプログラマの小林氏は戦慄するのであった。

“SourceプロパティはContactsを受け取ることを期待しています”

そらそうよ!

アップデートメソッドをドラッグアンドドロップしているんだからアップデートしたいデータが来なけりゃアップデートの意味がないやんけ!

デートして初めて彼女と呼ぶことができるのだよ、アルテイシア様。

ラル、馬鹿なマネはおやめなさい。
このブログ上司のMも見ているのよ。
ですがアルテイシア様、毎日毎日在宅でプログラミングばっかしていると、この猛者(もさ)の小林もさすがにサボりたくもなるものですよ。
それにあの優秀なキチ頭脳をもつMであろうとも、まさかすべての記事をチャックしているはずがございますまい

がっはっは!!

と小林氏は思うのであった。

 ↑何言っているのかまるで分からないけど、要するに、その場で入力フォームに入力したデータがContactFormフォルダのなかのRecordって場所に入っているのだと思われるの、うふふっ

f:id:neomatsudaira:20160201112545p:plain

 アルゴリズムの一番下はSaveボタンを押した後の画面遷移コードだよ。
こいつもドラッグアンドドロップ。
ていうか、もう全部のコードがドラッグアンドドロップで作れてしまうのですが。ポルトガル人(OutSystems社はポルトガル企業)はどんだけドラッグアンドドロップが好きやねんと小林氏は思うのであった。

ちなみに、ECショップとかで買い物カゴボタンを押したり、企業のお問い合わせページで入力と確認を終えて「送信ボタン」を押したら、やっぱり画面が遷移します。

そして、お問い合わせありがとうございましたー!!

という画面に遷移する(業界用語であのページをサンキューページといいます)。いま、それと似たようなものを作っているということだけは理解できるのであった。

そして、ダラダラやっていたのに、あっという間に完成したのであった。

 【完成画面1】

 顧客の名前をデスフェニックスに、電話番号を111-111-1111に

変更した画面だよ。

 

【完成画面2】

<アプリ作り終わっての感想>
簡単だった。説明はとっても難しかった。
だけど、やってることは簡単だった。説明をもっと簡単にすればいいのにと思った。もっと沢山のWebアプリや業務アプリケーションを作れるようになりたいとほんの少しだけ思った。

 

 (トレーニング1.6へ続く)