No-Code!? でも必要なこと。
Mar 13, 2021Appsheetは、「No Code」アプリです。A to Z。アプリ制作の課程で一切コードが必要とされません。Good or Bad。コードを叩かなくても高機能のアプリを作れるというのは素晴らしいことですし、今後のアプリ開発の世界は、これまでエンジニア・プログラマーの専売特許としされているこの分野にコードの世界を知らない一般人(例:筆者)にも門戸を開き、新たなムーブメントを興すという意味でもアップシートは画期的です。但し、少しでもコードの知識がある人間に取っては、このNO-CODEという部分がネガティブに働き、「コード使ってもっとカスタマイズしたい!」という要求、欲望に答えてくれないという点でネガティブに働くと思います。私もAPPSHEETでアプリを開発しながら、「ここでコード叩いて、見た目、動作カスタマイズしたいな」と思う場面が多々有ります。
但し、今後もアップシートはNO-CODEという部分は頑なに守りながらアプリのバージョンアップを続けていくものと思います。
ではNO-CODEであるから、”誰でも”高機能のアプリを作れるのか?という設問に対しての回答は?20年間、営業として活動し、コードのコの字も知らぬまま独立しいまの世界に身を投じてみた私としては、NO-CODEは素晴らしい。コードの知識なく何でも思ったことを実現してくれる素晴らしい概念。と思ったのは、コードの知識がゼロであったころの話。独学でWEBアプリ開発に最低限必要な、HTML,CSS,JAVASCRIPTを学習。以前からMS ACCESSで自分のDBを作成などはしていましたが、改めてSQLについても学習。結果、APPSHEETというNO-CODEのツールに対する見方・評価も変わりました。
NO-CODEのツールを操るうえで、CODEの知識はやはり役に立ちます。特にデータベースの分野です。SQLのステートメントをコードと呼ぶかという話は別としまして、リレーショナルデータベースに関する知識はAPPSHEETを操るうえで非常に役立ちます。逆に申しますと、複雑なアプリをアップシートで開発する際、やはりベースの知識としてSQLやRDB程度の最低限の知識は必要とされるのではないか?というのが実感です。
加えて、アップシートでは様々な関数を利用します。関数といってもEXCELで利用されるような程度の関数です。但し、関数を使いこなす場合、論理的な考え方が必要になると思います。コードを日々叩かれているエンジニア、プログラマーの方々にとっては当然の話ですが、何かのロジックを構築する場合、AがBの場合結果は?でも結果はBとは限らない。えはCとなった場合のロジックも、と常にロジカルな考え方をされて、プログラムを構築されていると思います。これは、エクセルでいうところの複雑なIF関数に近いと思います。
入り組んだIF関数を構築する場合、仮に「例外的」なケースがあっても、その可能性がゼロでない場合、その発生に備えロジックを組み込んでおく必要があるわけです。
NO-CODEであるアップシートをつかってのアプリ開発に置いても同じ話が当てはまると思っています。複雑なロジックをアップシートに盛り込み、動かした結果、『完璧!』と自画自賛。但し、ユーザーに使っていただいたところエラー、もしくは想定していた通りにアプリが動かない。当初想定していない事態が発生しいていてアプリが思った通りに動いていない。人に寄っては、バグと表現するかもしれませんが、単にロジックの甘さが事の根源に有り、BUGではなく、IF関数の結果のケース分けに甘さがあった、といことが多々あります。原因の本質は、自身のロジカルシンキングに甘さがあったということに帰着します。反省とTRY AND ERRORの繰り返しです。
日々自身が成長するように、多くのことを学ぶように心がけていますが、いま、気づくこともコードの知識がなかりせば、おそらく気づきもしなかったというケースは多々あると思っています。もしくはあるケースを解決するために作り上げるロジックもコードやリレーショナルデータベースの知識なかりせば思い付きもしなかったであろうということも多々あります。
ONCE UPON A TIMEの話になってしまいますが、昔、自分の業務のためにマイクロソフトのアクセスでデータベースアプリを作成したことがあります。テーブルを作り、複数のテーブル間でリレーションを設定したり云々。
その知識も現在役立ってはいますが、簡単なSQLのステートメントであるSELECT * FROM XXX WHERE ZZZZ。このロジックはSQLを学ばないとわからない世界の話でした。
また、アップシートでは、APIを利用することが可能です。APIを使うことができるのにNO-CODEか?という議論は一度横に置いておくこととして、APIを操作できることとなると出来ることの幅が格段に広がります。但し、その場合、APIとは?という知識が当然に必要になるわけです。JSON?
違います。ジャバスクリプトオブジェクトノーテーションです。
REST API、パラメーター、ヘッダー、レスポンス。APIの知識がなければ何を言っているのか当然わかりません。
となるとせっかく準備されているNO-CODEプラットフォーム上の機能を100%使いきれず、結果、本来得られるであろう素晴らしいプラットフォームの効力を100%得ることが出来ない結果に。
ノーコードのプラットフォームであるアップシート。
コードを叩かなくても何でも出来るか?
答えはNO思います。
但し、別にJAVASCRIPTを叩けなくては出来ない、といった世界の話ではなく、自分の、もしくはお客様の必要なアプリを構築するに当たり、コードの世界では当然のロジカルシンキング、加えて、データベースに関する基礎知識程度は絶対的に必要とされるというのが筆者の結論です。当然にAPPSHEETを武器に商売を展開している立場としましては誰でも出来る世界ですと商売の種がなくなってしまいますので、必然のコメントとなりつまらないブログとなり申し訳ありません。
但し、恐れるに有らず。ベーシックなアプリであれば、簡単に開発できてしまうのがアップシート。人間は恐ろしいもので一つのことが出来てしまうと、次、次。これもやりたいと思う動物です。となりますと、やはりある程度高度な知識が必要とされる。
NO-CODEの世界は今後も広がっていくと思いますが、データベースに関する一般知識は永久に必要とされると思います。不変の概念ですから。FIREBASEといったNO-SQLといったデータベースも一般化していますが、それらのデータを消費する場合、NO-SQLのデータもSQL、つまりはリレーショナルデータベースの形式に変換するといった手続きは必要になります。
MS ACCESSは1992年に登場したそうですが、20年以上たったいまもその概念にはかわりはありません。いまも素晴らしいツールですし、それはRDBという概念を一般化したところにその理由があると思います。
アップシートはRDBの概念を念頭に複雑なアプリを構築していくツールです。また、APIを使って機能を拡張といったことも簡単に実装可能です。但し、その開発に当たり、NO-CODEの開発ツールといえども、『ベース』となるIT知識が必要とされる、というお話でした。
GOOGLEのツールの一つとなるAPPSHEET。今後も機能拡張が期待されます。現在もアップシートで機能拡張!と思った場合、GOOGLEのツールとの親和性もあり、GAS、GOOGLE APP SCRIPTの開発が必要とされます。DEVELOPER、エンジニアにとっては面白い部分になると思います。GOOGLEの容易しているAPIを利用。当然にGOOGLE,APPSHEETの開発部隊は、NO-CODEの世界でこれらの便利なツールをアップシートのツール上で利用できるように開発を進めていくでしょう。その場合にもコードの知識は必要とされず?という問いは常に完全に否定はされず、コードの意識、コードへの理解がなくとも「コードを構築するがごとく、ロジカルに物事を整理、アプリを構築する」という作業が永遠に必要とされると想定する筆者でした。