技術情報ブログ
Power Platform
2024.05.15

非エンジニア【(元)自治体職員】がローコード開発をして気が付いたこと コーディング規約とPower Platformプレミアムサンプルアプリ集

非エンジニア【(元)自治体職員】がローコード開発をして気が付いたこと コーディング規約とPower Platformプレミアムサンプルアプリ集
村上洋輔

アーティサンの村上です。

前回は、【(元)自治体職員】が半年間ローコード開発してみたらというタイトルで、半年間の経験を投稿させていただきましたが、少しは皆様のお力になれましたでしょうか。

自分で読むと、少し恥ずかしいものですが、恥を捨て、皆様にとってPower Platformが身近なものになるよう、継続していきたいと思います。

前回のブログで、次回以降は、Power Platformの基本的な技術や地方自治体・中小企業の皆様にも活用できそうな、事例を紹介させていただくこととしておりました。

今回は、基本的な技術・知識として、私自身、開発を初めた当初、こんなものがあったのか…。知らなかった…。と気が付いたもののうち、2つ『PowerAppsコーディング規約』『Power Platformプレミアムサンプルアプリ集』について、お話させていただければと思います。

 

コーディング規約について

まず1つ目、PowerAppsコーディング規約についてです。

非エンジニアの方にとっては、そもそも「コーディング規約」とは…? となると思います。
コーディング規則(規約)とは、要約すると、「プログラムの書き方などを決めた、プロジェクトにおける共通のルール」だと考えます。

実際にPowerAppsでアプリを作り、コントロールが増えていくと、コントロール名はどのように決めたらいいのか、他の作成者がわかりやすいコントロール名は?など、頭を悩ますことがあります。

そんな時に役立つのが「PowerApps キャンバス アプリの コーディング規約とガイドライン」という規約・ガイドラインです。 下記にて公開されています。

PowerApps キャンバス アプリの コーディング規約とガイドライン

この規約・ガイドラインの目的はアプリの

  • 簡潔さ

  • 読みやすさ

  • サポート性

  • デプロイと管理の容易さ

  • パフォーマンス

  • アクセシビリティの6つの点でサポートするために作成されたものです。

※デプロイ(要約):作成したアプリを使える状態にすること。
と記載されております。

この規約・ガイドラインを基にコーディングしていくと、例えば、自身が作成したアプリを別の担当者が保守をしていく場合でも、共通のルールの中コーディングされているので、保守性の高いアプリが構築できます。

このコーディング規約に関するブログは、多くの開発者の方々がブログを公開してくれているので、詳細までは触れませんが、 例えば、画面名(スクリーン名)を決める場合は、「必ず平易な言葉を使用し、単語間にはスペースを入れ、省略形は使わない」などのルールがあります。
例:Home Screen、User Profile Screenなど

また、コントロール名を決める場合は、「すべてキャメルケースを使用することをお勧めし、最初に3文字の型記述子を付けた後、そのコントロールの目的を付け加えます。」こうすることで、コントロールの種類を見分けやすくなり、数式の作成や検索性が容易になります。
例:ボタン btn、コレクション col 
※キャメルケース:複合語の先頭を小文字で書き始めること。

ただ、実際にアプリを作成していくと、膨大なコントロール数になることがあります。
市民開発をしていく場合、その一つ一つの名前を変更していると、多くの時間を要してしまい、非効率となってしまいます。

ここからは、個人的な意見になりますが、規約のとおりコーディングしていく目的は、前段で記載している、6つの目的を果たすことなので、実際には全てのコントロールの名前を変更する必要はない場合もあると考えています。

例えば、スクリーン、ギャラリー、フォームなど、比較的大きな括りのコントロールのみを規約に則り、名前を変更していくだけでも、保守性は高まると考えます。バランスを考えながら、規約を採用していくことも、市民開発をする上では、大切になってくるかもしれません。

最後に、アプリを作成していて、多く使用するのが、コードのコメントになります。保守性を高める為に、アプリのコードを記述する際にはコメントを詳しく書き込むことが大切になります。
何か月か経ってから、アプリを見直す場合や次に担当する開発者のためになります。

コメントには2種類あります。

  • 行コメント

    コードの最初に二重のスラッシュ//が入力されている場合、PowerAppsは以降の行(//を含む)をコメントとみなします。

  • ブロックコメント

    /**/で囲まれたテキストは全てコメントとして扱われます。行コメントが一行だけのコメントであるのに対し、ブロックコメントは複数の行にわたっていても反映されます。

これらの、コメントはテストやデバック中にプログラムを一時的に無効化することが出来るため、アプリ作成中に頻繁に使用することになります。
※デバック:プログラム上のバグや誤りを発見し、修正すること。

例:行コメント

行コメント

例:ブロックコメント

行コメント

緑色の部分がコメントアウトされています。
デバックする際には、修正前の関数をコメントアウトして残しておくことで、バックアップとして残すことが出来ます。

エンジニアの方々には非常に基本的なことと思いますが、非エンジニア・市民開発者の方々にとっては、教えられないとわからない部分だと思います。ぜひ、覚えていただければと思います。

今回、触れさせていただいた内容は、規約・ガイドラインのごく一部になりますが、これから、Power Appsを活用していく方々には一度、こちらの規約・ガイドラインに目を通していただいてから、開発を始めていただくことをお勧めします。

 

サンプルアプリ集について

2つ目は『Power Platformプレミアムサンプルアプリ集』についてです。
前回のブログ(非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら)で、Power Platformの使い方が分からない(関数など)の部分の対策として、「先輩が作ったベースアプリを修正・追加していくという作業を繰り返すことで」技術の習得を早めることが出来た。と書かせていただきましたが、

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

様々な企業の方々とお話をさせていただいていると、「社内でPower Platformを活用していく方針に決まったが、担当はごく数名で担当者の方も初めてPower Platformを触る」かつ「通常業務の片手間でやっていかなければならない」というお客様が多いと感じました。
その状況で、私がお話した「先輩が作ったベースアプリを・・・」というのは、現実的ではないと感じました。

解決策とすれば、弊社の「内製化支援サービス」を活用していただけると弊社のサポートが可能ですが、「最初からなかなか予算がつかないよ」というのが現実的かと思います。

そこで、無料でベースのアプリとして活用できるのが『Power Platformプレミアムサンプルアプリ集』です。

Power Platform プレミアムサンプル集 | PowerApps-Sample-Apps-Japan (microsoft.github.io)

HPには、

Power Platform による、企業で有用なアプリのサンプルを無償提供しています。 本アプリは、日本マイクロソフトの社員有志により作成・公開しています。 こちらのアプリは Power Platform の Premium 機能を利用しています。 また、アプリは無償でダウンロードが可能です。

と記載されております。こんな優れたサービスは活用するほか無いと思います。

提供されているアプリは、「社内システムアプリ」、「投票アプリ」、「タイムカードアプリ」、「日報・週報アプリ」などがあります、まさに地方自治体の方々や中小企業の皆様にも必要と思われるサンプルアプリが提供されています。

これらを活用し、どのような関数が使われているかを確認したり、少し自分でカスタマイズしたり、を繰り返すことで、アプリの構造を学んだり、自分でカスタマイズして変化した達成感・楽しみなども感じていただきながら、技術を習得していけるのではないかと考えます。

アプリのダウンロードには少し手間がかかりますが、以下のポイントを抑えて、確認していただきながら、作業していただければ問題なく、アプリをダウンロードできると思います。

  • 1つ目は、ダウンロードする環境になります。HPには「アプリの利用の際にはPremiumライセンスが必用となります。」と記載されておりますが、その下段に評価環境の作成方法がございますので、そちらを参考に、評価環境を取得していただければ利用が可能となります。

    PowerApps-Sample-Apps-Japan
  • 2つ目は、アプリのダウンロード方法です。
    ダウンロードしたいアプリの横にある「アプリリンク」から

    008.日報・週報アプリ

    GitHubへアクセスし、zipファイルをダウンロードし、インポートすることで、アプリをダウンロードできます。ソリューションのインポート手順書も提示されていますので、参考にしてみてください。

    GitHub

    ※GitHub:ソフトウェア開発のプラットフォーム

私も、Microsoftの社員の方々が作成した、日報・週報アプリがダウンロードできました。
この後は、勉強用のアプリなので、どんどん触れて、学びながら、PowerAppsの楽しさを体感してみましょう!

008.日報・週報アプリPower Apps

 

さいごに

今後も、地方自治体、中小企業の皆様や、日々奮闘するPower Platform初学者、市民開発者の皆様にPower Platformの良さが伝わるよう、有益な情報を届けられたらと思います。
引き続きよろしくお願いいたします。

最後まで、ご覧いただきありがとうございました!

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

村上洋輔

岩手県在住

13年半程の地方自治体職員を経てIT業界へ飛び込みました!

趣味はキャンプ⛺、釣り🐟、家庭菜園🥬、サッカー⚽・・・アウトドアが好きです!

Power Platformに関する業務を担当しております!

非エンジニアの方々、地方の企業様、地方自治体様へもPower Platformの良さが伝わる活動ができればと考えております!

シェアする
記事カテゴリ
最新記事
2024.05.15

非エンジニア【(元)自治体職員】がローコード開発をして気が付いたこと コーディング規約とPower Platformプレミアムサンプルアプリ集

2024.05.01

Power Apps・Power Automateの勉強方法(2)

2024.04.17

Power Apps・Power Automateの勉強方法(1)

2024.04.03

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る