Kitaarashi共有するFacebookTwitterEmailLinkedInこんにちは、アピリオ北嵐です。昨年はどっぷりとHerokuの世界でエンタープライズ系の開発をしていたのですが、再びSalesforceの世界に戻ってきました。Componentsなるものが登場しているではないですか。Componentsの仕組みにはフロントエンジニアとして大いに興味をそそられましたので、外部向けの勉強会を開催しました。当日参加して下さった方はありがとうございました。Componentsですので、この勉強会の内容をこのブログシリーズでお伝えしていこうと思います。Componentsを読みますとその辺りの事情が丁寧に説明されています。内容としては以下のような話になります。Spring’15から提供されているLightningコンポーネントはAuraフレームワークと呼ばれるプログラミングモデルをベースとして提供されてきました。Auraフレームワークは2013年ごろに開発された技術で、この時代はまだまだJavaScriptによるコンポーネントベース/エンタープライズ開発を行うための標準が確立されておらず、モジュール化(AMD/CommonJS等)やフレームワーク(React/Angular等)の仕組みもOSSごとに独自の仕組みが提供されていました。Auraフレームワークも独自のコンポーネントモデルとモジュール化の仕組みを持っていて、下記のような特長を持っています。クロスブラウザのサポート当時としては十分に先進的であり、JavaScriptベースでコンポーネント開発を行うための意欲的なフレームワークだったのですが、結果としてAuraベースの従来のLightningコンポーネントでは、標準の欠如による開発面(学習面、再利用)での非効率化が大きな課題となってしまいました(確かにAuraは独自ワールドだったので、他のOSSを利用するには苦労がありました)。Components(以下LWCと記述)が提供されることになりました。2014年からの5年間でJavaScriptによるWeb開発の標準化が進み、独自のコンポーネントモデルやJavaScriptの言語拡張を行う必要性が小さくなりました。components”プラットフォームであり、多くのWeb標準をベースとしている技術となります。Componentsを構成する最新のWeb標準には下記のようなものがあります。注目して欲しいのはES6のサポートです。IEに代表される古いブラウザサポートの問題から、従来からあるレガシーJavaScriptを使って開発を行っている方はまだまだ多いと思いますが、LWCは基本的にモダンブラウザしかサポートしませんので、2015年にデビューしたES6以降のJavaScriptを使って実装します。Components(以下Auraコンポーネントと記述)と呼ばれます。Auraコンポーネントのサポートがすぐに打ち切られるわけではなく、AuraコンポーネントとLWCは共存させることができます。注意するのは、Auraコンポーネントの中にLWCを含めることはできますが、その逆(LWCの中にAuraコンポーネントを含める)はできません。具体的な例としては標準のLightningコンポーネントの実装は既にLWCの実装に切り替えられていて、LWCとして実装されたコンポーネントをAuraコンポーネントで包含するような形で作成されています。Componentsより]おわりに今回はLWCの登場した背景と今後の位置付けについて説明しました。次回以降はLWCの構成や実装方法について、従来のAuraコンポーネントと比較する形で説明していきたいと思います。最後にまだまだ英語ばかりとはなりますが、LWCの参考リソース(2019年3月時点)をご紹介しておきます。Spring'19時点でLWCがサポートする機能はLightningコンポーネントと同じではなく制限がありますのでご注意ください。入門(全5回)シリーズは下記のリンクからご覧いただけます。著者についてアピリオのシニアコンサルとしてクラウドの世界に身を投じてはや5年あまり。プロジェクトでの立場に応じて、アーキテクト、リーダー、デベロッパーと様々なロールの仕事に携わっています。新しいサービスと技術が登場するSalesforceの世界はエンジニアとして常に刺激を持ち続けられるエリアであり、2019年からはMuleSoftソリューションの起ち上げに関わっています。ついて、その特長と使い方をご紹介します。Componentsの基本的な構成(メタデータ、html、JavaScript)や実装のルールについて説明します。入門編ブログをシリーズに渡ってお届けします。開発の基本から簡単な応用テクニックまでを網羅します。Platform」についてご紹介します。主導のシステム連携をサポートするための幅広い機能が単一のプラットフォーム上で提供されています。デプロイ作業について説明します。実装について説明しました。デプロイ作業について説明します。変換例を紹介しようと思います。変数や関数の利用、典型的な変換パターンを例を交えて説明します。使ったブラウザ環境でのMuleアプリケーションの開発についてご紹介します。Muleアプリケーションを作成することに比べて、とても手軽にアプリケーションを開発できます。して提供されている単体テスト用のフレームワークです。同じようにテストスイートを実行することで単体テストを自動実行できます。開発におけるテストについて考えていきます。つのレベルの検証を実施すべきと考えます。実装したらすぐに運用開始できるというものではありません。ポリシー設定についてご紹介します。API管理は標準のポリシーの組み合わせで幅広い要件をカバーできますが、場合によっては既存機能の拡張や新機能の定義が必要になります。今回は、「カスタムポリシー」の開発手順についてご紹介します。リソースのバージョン」)を管理する必要があります。バージョン管理についてご紹介します。アプリケーションの実装方法について紹介しようと思います。アプリケーションの実装方法を引き続きご紹介します。ついて、その特長と使い方をご紹介します。Componentsの基本的な構成(メタデータ、html、JavaScript)や実装のルールについて説明します。JavaScriptコードなどはAuraコンポーネント時代からかなり変更された要素ではありますが、より簡潔にコードが書けるように進化しているという印象を受けました。今回は簡単なサンプル・コンポーネントを通して、LWCの基本的な実装方法とSalesforceサーバーからのデータの取得方法を見ていくことにします。Serviceというノンコーディングでサーバーからデータを取得できる便利な方法が導入されており、いくつかの方法でサーバーデータを取得できます。本稿ではその特長と使い分けについて解説してみます。CLIを使って行います。今回はこのCLI(コマンドライン・インターフェース)にスポットを当ててみたいと思います。CLIは従来はAPIでのみ提供されていたSalesforceサーバーに対する様々な機能をコマンド形式で実行できる環境であり、Winter’18で正式にリリースされました。第5回目の今回は応用編ということで、本格的なLWCの実装時に必要となるテクニックをいくつか紹介します。使ったリリース方式です。CLIはメタデータAPI(mdapi)を包含しているため、コマンドを使ってAnt方式と同様にメタデータXMLを使ったSalesforce組織間のリリース作業を行うことができます。各種資料ENGLISHこのハブをシェアするFacebookTwitterEmailLinkedIn。