API開発のためのプログラミング言語"Ballerina"の直感的な構文について解説します。認証や承認、OpenAPIツール、可観測性、SQL/NoSQLクライアントライブラリなど、重要な言語機能についても論じます。記事を読み終えれば、Ballerinaが次のバックエンドAPI開発の有力な候補である理由がよく理解できるでしょう。2022年4月InfoQ編集チームが2022年に進化するソフトウェアアーキテクチャと設計のトピックをどのように見ているかの概要です。アーキテクトが今、何を設計しているかに焦点を当てています。Pan氏が、分散データベースシステムにおけるシャーディングアーキテクチャのパターンについて論じます。ShardingSphereプロジェクトがデータシャーディングの課題にいかに対処しているかを説明した上で、DistSQLを使って分散データベースと暗号化テーブルを生成する方法の実例2つを論じています。カルチャー&手法カオステストで、見えない課題からアプリケーションのレジリエンスを改善するこの記事では、Netflixが提唱するカオステストの原則を列挙した。読者は、カオステストが提供するメリットとデメリットを理解できるはずだ。することで、カオステストを行うかどうかの判断材料となる。リスクに対するすべてのメリットを考慮して、カオステストを行うために経営陣を説得すべき理由も説明した。Nativeアプリの初期化コード限定で“JavaScriprtの高速実行”を実現するプロジェクトを公開した。Prepackと呼ばれるこのツールは、コンパイル時に実行可能な計算処理、特にコードの初期化フェーズで実行される処理を削減しようというものだ。JavaScriptエンジンの完成度が向上した現在、パフォーマンスの最大限の向上は、現実的なユーザーエクスペリエンスの向上によって得る必要がある。NativeなどのJavaScriptで記述されたアプリに対して固有のメリットがある。Nativeアプリの起動時間が改善されれば、ユーザエクスペリエンスに劇的な影響を与える可能性があるのだ。Tillmann氏はこの問題に取り組むため、2016年9月にFacebookに参加した。プロジェクトのページで紹介されているすべての例では、グローバルレベルで行われた処理がその処理結果に削減されることにより、クライアントのJavaScriptエンジン起動時に実行される不要なコンパイルが削減される様子を確認できる。Prepack自体は“JavaScriptのクリーンリファレンス実装”であり、コードが実際に何を行うか判断するため、実際にそのJavaScriptを実行している。Nativeの初期化パフォーマンス向上に重点を置いている。起動はアプリで最も大きなコストのひとつだからだ。JavaScriptエンジンが行うべきオンデバイスコンパイルが少ないほど、パフォーマンスは向上するはずである。プロジェクトは、自身の環境について理解していない。“Prepackにはdocumentやwindowの知識が組み込まれていません。実際にそのようなプロパティの参照コードを事前パックする場合、それらはundefinedと評価されます”、とドキュメントには記されている。このプロジェクトは、“実運用レベルには達していない”と明確に示されている。Nativeおよび関連ツールチェーンと共に正しく動作できるようにすることだ。Webとnode.jsは“中期的”機能としてリストされているので、Webアプリケーションに手軽に統合したい開発者はもう少し待たなくてはならない。バンドルサイズの削減がWeb開発者の優先事項であるならば、それはPrepackの目標には含まれていない。プロジェクトのホームページの一番下の部分に、次のような注意書きがある。CompilerがJavaScriptのコードサイズに重点を置くのに対して、Prepackは実行時のパフォーマンスを重視しています。メリットはコンパイル対象次第である、とTillman氏は記している。Prepackは従来のコンパイラに対して、完全に補完的な存在です。その強みは、JavaScriptビルトインに関する完全な知識のあることです。これはコンパイル時、コードの事前評価において使用されます。極端な場合は、プログラム全体が実行結果に変換される可能性もあります。実際にメリットを享受するためには、解析オーバーヘッドがキャッシュ可能な環境を使用することが必要です。純粋な実行時間に関しては、初期化フェーズで最大10倍の改善を確認しています。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。Inc.プライバシーBT。