API開発のためのプログラミング言語"Ballerina"の直感的な構文について解説します。認証や承認、OpenAPIツール、可観測性、SQL/NoSQLクライアントライブラリなど、重要な言語機能についても論じます。記事を読み終えれば、Ballerinaが次のバックエンドAPI開発の有力な候補である理由がよく理解できるでしょう。2022年4月InfoQ編集チームが2022年に進化するソフトウェアアーキテクチャと設計のトピックをどのように見ているかの概要です。アーキテクトが今、何を設計しているかに焦点を当てています。Pan氏が、分散データベースシステムにおけるシャーディングアーキテクチャのパターンについて論じます。ShardingSphereプロジェクトがデータシャーディングの課題にいかに対処しているかを説明した上で、DistSQLを使って分散データベースと暗号化テーブルを生成する方法の実例2つを論じています。カルチャー&手法カオステストで、見えない課題からアプリケーションのレジリエンスを改善するこの記事では、Netflixが提唱するカオステストの原則を列挙した。読者は、カオステストが提供するメリットとデメリットを理解できるはずだ。することで、カオステストを行うかどうかの判断材料となる。リスクに対するすべてのメリットを考慮して、カオステストを行うために経営陣を説得すべき理由も説明した。GWTはJavaセントリックなコンパイラであり、JavaScriptベースのWebアプリケーションを作成する。Johnson氏(リンク)と話し、このリリースの詳細とGWTに新たに追加された機能について聞いた。1.5の主な新機能には以下のものがある。5の機能のサポートが追加された。コンパイラの最適化-コンパイルされたアプリケーションの性能が改善され、既存のアプリケーションはGWTのコードを変更せずに1.5でリコンパイルするだけで処理速度が改善するだろう。APIは、強く型付けされたJavaScriptのオブジェクトとDOMプログラミングを実行時のオーバーヘッド無しで提供する。デフォルトの外観テーマ-いくつかのCSSベースのUIテーマが利用可能であり、アプリケーションのルック・アンド・フィールの出発点として提供されている。変更内容の全リストはリリースノート(リンク)とともに入手可能である(リンク)。Johnson氏は1.5のいくつかの変更点について説明した。ためのJavadocベースのメタデータ[として前のバージョンまでは@gwt.eventArgsが使われていました]。これはきわめて貴重な例です。1.5にアップグレードしたときに、ほとんどの人が早い時期にこの変更に出会うと思われるからです。RPCのインタフェースは簡単にジェネリックなコレクションを指定できるので、RPCは今ではずっとシンプルでリッチになりました。1.5は今ではプリミティブなデータ型の「long」を完全にサポートしていることです。1.5の前までは、「long」は厳密にはサポートされていませんでした。JavaScriptには64ビットの整数型が無く、フルレンジの「long」はネイティブなJSのnumberでは表現できなかったからです。1.5で私たちはその問題に取り組み、longの振る舞いが完全に正しいことを保証するための追加のコードを作成しました。1.4よりも幾分悪くなりました。最大の性能と正確さとのどちらかを選ばなければならないというのは残念な状況でしたが、言うまでも無く正確さが勝ったのです。1.4と同じ速度を保つために、それらの変数を「int」あるいは「double」に変えることを検討してください。Johnson氏は、1.5のサポートに必要となったコンパイラの変更の詳細についても説明した。コンパイラのフロントエンドでは、Eclipseの一部である優れたJavaコンパイラを再利用しています。tree:AST)を構築するのです。次に、そのASTを最適化し、JavaScriptの出力を生成します。Eclipseのコンパイラを利用することで、私たちの作業は非常に簡単になりました。多くの作業が既に行われていたからです。enum型や拡張forループ等の新しいコンセプトをJavaScriptで効果的に表現する方法を見つけるためには、かなりの作業が必要でした。新しい言語機能には、GWTのライブラリのいたるところで前向きな連鎖反応もありました。RPCでジェネリクスを使うための新発見の機能が最も目立っていますが、私たちは国際化やイメージのバンドル、ベンチマーキングなどにおけるJavadocベースのメタデータを置き換えるために、アノテーション広く活用してもいます。Johnson氏はGWTのWeb開発で競合する主なものを、以下の3つのカテゴリで説明している。GWTがそれらの競合するものとどのように差別化しているかを説明した。FlexのようにDOMではないUIモデル-GWTはブラウザのDOMモデルを置き換えるよりもむしろ受け入れている。UIの統合が、GWTを使用して行われたことを指摘した。離れた)純粋にクライアントサイドの技術であり、サーバサイドのコンポーネントとうまく統合するので、GWTはこれを補完するものである。Johnson氏は、よりリッチでもっとステートフルなGWTクライアントコードは、サーバサイドのクリックして待機するコードの制限を減らしつつ、もっと応答性がよく可変性の高いUIの構築を促進することに気づいている。DojoやjQueryのようなAJAXライブラリ-ここでの大きな違いは、プログラミング言語の選択である。JavaScriptを生成している。JavaとJavaScriptは一緒に使うことができるが、Johnson氏は、Javaをもっと使用すると、さらにGWTコンパイラの最適化が役に立つと言っている。GWTはどのように他のGoogleのコードベースと統合されているのかを尋ねたところ、Johnson氏は次のように答えた。キーポイント:GWTはたくさんのものをもたらしますが、「塀で囲まれた庭」にしようとしているわけではありません。抽象化には漏れがあるものであり、その事実を受け入れたほうがよいのです。私たちはわざと、簡単にその抽象化をついて基本のJavaScript環境に取り組めるようにしています。することで、あなたはあなたの好きなどんな技術とでも統合できるのです。この柔軟性は、GWTとGWTユーザの双方にとって一種の保険です。あなたはどんなクライアントサイドの技術でもGWTと組み合わせられることを確認することができます。私たち(GWT開発チーム)は、変更可能な一連のものとの統合を明白に提供しなければならないとは思っていません。みなさんは私たちを待たずに、自分でできるからです。Cromwell氏のSyndroid(リンク)をご覧ください。Codeプロジェクト(リンク)との統合を含め、数々のGWT統合が存在しているとも述べた。今後のGWTの計画について尋ねたところ、Johnson氏は次のように答えた。私たちは、日付ピッカーや手の込んだ新しいテーブルウィジェットを含むいくつかの新しいウィジェットをGWTのインキュベータから次の段階に進めることはもちろん、飛躍的に性能を改善させる作業を続ける予定です。私たちはその他にも新しいことを行っており、例えば宣言型のXHTMLベースのUIテンプレートの仕組みがあります。全てがスケジュールされているわけではありませんが、次かその次のリリースには入るのではないかと思います。1.5のときよりももっと短いサイクルになることを期待しています。Engineの開発環境としてのGWTの統合のサポートについても話し、「クールなアイデア」と呼んでいる。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。Inc.プライバシーBT。