最近のNativeScript 6.3、6.4、6.5リリースでは、TypeScriptまたはJavaScriptを使用してネイティブモバイルアプリを構築するためのフレームワークにさまざまな新機能が追加されている。これらのリリースのハイライトとして、CSS解析とCLIコマンドのパフォーマンスの向上、AndroidとSvelteでのWebAssemblyのサポート、3Dビュー変換、実験的なKotlinJSサポートがある。
NativeScript 6.3リリースでは、csstreeを活用する新しいCSSパーサーが追加され、既存のreworkcssパーサーと比較して起動のパフォーマンスが最大30%向上している。この新しいパーサーは、NativeScript 6.4リリースでデフォルトになった。
ホットモジュールのリロード(HMR)も、NativeScript 6.3で大幅に改善されている。以前は、nativescript-worker-loaderパッケージを使用するアプリケーションは、HMRの恩恵を受けることができなかった。この問題の解決により、ほとんどのNativeScriptアプリケーションでHMRを使用できるようになる。
NativeScriptのコアサポートは、Angular、Vue.js、TypeScript、JavaScriptで作成されたアプリケーションを対象としている。NativeScript 6.3では、NativeScriptプレイグラウンドにSvelteのサポートを追加する。
NativeScript 6.4リリースでは、カスタムwebpack構成に対するサポートが改善されている。このリリース以前は、webpack構成を変更するには、各NativeScriptリリースの変更をローカルの変更と手動でマージする必要があった。NativeScript開発者は、すべてのカスタムwebpackコードを別のファイルに移動し、nsconfig.jsonのwebpackConfigPathプロパティを参照できるようになった。
NativeScript 6.4では、メタデータフィルタリングが導入され、NativeScriptプログラムマネージャーのEmil Tabakov氏が説明した課題が解決されている。
これまで、NativeScriptはサポートされているすべてのネイティブエンティティをメタデータに含めており、アプリの作成者はこの動作を制御できませんでした。これにより、アプリとプラグインの作成者はJavaScriptからネイティブAPIを自由に呼び出すことができ、アプリとプラグインの開発中には最適でした。ただし、いくつかのケースでは、すべてのAPIのメタデータを持つことは望ましくありません。
- セキュリティに影響が及ぶ可能性があります。そして、メタデータのバイナリファイルで認識されるべきではないエンティティの名前が記述されることは許容できない可能性があります
- 使用されない不要なメタデータが原因で、アプリのサイズが大きくなる可能性があります。現実には、利用可能なもののごく一部だけが実際にアプリによって呼び出されるため、ほとんどのエンティティは実際には不要です。
NativeScript 6.4は、ネイティブ名のシンボルをブラックリストおよびホワイトリストに登録することで、生成されたメタデータを制御できるようにしている。Tabakov氏は、これにより、このリリースのNativeScriptのコアモジュールが大幅に改善されると説明している。
iOS用の{N}のコアモジュールでフィルタリングを有効にすると、メタデータファイルはCPUアーキテクチャ(arm64、armv7)ごとに最大5.5MBから最大1.2MBに削減されました。Androidの場合、最大2.1 MBから最大1.1MBに削減されました。実際、デフォルトで何をフィルタリングするかを決めるときは、かなり保守的になります。そのため、あなたに冒険心があれば、もっと積極的になって、達成したことを私たちと共有してみてください。
NativeScript 6.4では3Dローテーションも追加される。それは、NativeScriptリリースのこのスクリーンショットで説明される。
NativeScript 6.4には、Androidプラットフォームの初期WebAssemblyサポートもある。WebAssemblyはJITサポートを必要とするため、現在iOSでは利用できないことに注意してください。Appleは現在、サードパーティのJavaScriptエンジンまたはアプリケーションを許可していない。
NativeScriptはnpmとyarnをサポートし、さらに、NativeScriptはpnpmをサポートするようになった。これにより、複数のプロジェクト間で同じ依存関係を利用するときにディスク容量が削減される。
NativeScript 6.4では、V8 JavaScriptエンジンのバージョンがV8 8.0リリースに更新される。これにより、多くのパフォーマンスの向上と、オプショナルチェイニングやNull合体演算子のサポートなどの新しいES2020機能のサポートが提供される。
NativeScriptのバージョン6.5では、プログラムによる作成によってTabsコンポーネントおよびBottomNavigationコンポーネントを改善している。さらに、TabStripコンポーネントには、マテリアルデザインガイドラインをより適切にサポートするためのスタイリングプロパティが追加されている。さらに、iOSバージョンのTabsには、NativeScript 6.5リリースのスタイル設定に関するオプションが追加されている。
最後に、これらのNativeScriptのリリースで追加された重要なことは、NativeScript 6.5での実験的なKotlinJSサポートの導入である。NativeScriptチームは、HelloWorld NativeScript KotlinJSサンプルについてコミュニティからのフィードバックを求めている。
NativeScriptの使用を開始する、または以前のバージョンのNativeScriptからアップグレードするには、開発者はnpmを介してNativeScriptをインストールできる。
npm install -g nativescript
NativeScriptは、Apache2ライセンスの下で利用可能なオープンソースソフトウェアである。コントリビューションとフィードバックは、NativeScript GitHubプロジェクトを介して奨励されており、NativeScriptコントリビューションガイドラインと行動規範に従う必要がある。