2012年でも、Web開発者は、Laszloが最初にOpenLaszloを作成したときに解決しようとした問題に直面しています。10年前、Flashは、プラグインがインストールされたデスクトップブラウザーの97%にピクセルパーフェクトなレンダリングを提供する唯一のクロスブラウザーテクノロジーでした。
JavaScriptエンジン、HTML、CSSには、オーディオとビデオの再生、フォントの埋め込み、CSSベースのアニメーション、コンテンツのハードウェアアクセラレーションによるレンダリング、描画API、一部のブラウザー(Chrome、Firefox、Opera)での最近のビデオ会議のサポートなどがあります。 WebRTCに基づく)。最新のブラウザは、Flashとほぼ同じ機能を提供しますが、IE9よりも前のバージョンのInternetExplorerでWebを閲覧しているユーザーの割合は依然として一定です。
消費者向けまたはビジネスアプリケーションの要件はまだ異なります:多くの企業
クロスブラウザアプリケーションの開発
APIとブラウザ間の違いを知っていれば、オープンスタンダードに基づいてFlashでできることの80〜90%を簡単に達成できます。ただし、開発者の専門知識に依存します。Flashを使用すると、すべてのブラウザーで使用するActionScript APIが1つあります(少なくともWindowsとOS Xの場合、Linuxにはいくつかの制限があり、十分にサポートされていません)。
LZX言語と純粋なJavaScriptLZX
は、確立された開発アプローチを使用して、優れたUIを構築するための素晴らしい言語です。LZXは大きく進化しました。CSSのサポート、ミックスイン、XMLではなくJavaScriptでのコーディングクラスのサポート、ActionScript3コードを言語に埋め込む機能などが新機能の一部です。
6年前(LZXが作成されてからずっと後)、多くの開発者は優れたJavaScriptコードの書き方を知りませんでした。プロトタイプベースの開発モデルは十分に文書化されておらず、開発者はJava / OOPのようなJavaScriptを使用する傾向があり、ひどいコードになりました。そして2012年でさえ、JavaScriptに関する多くの優れた本が市場に出回っており、何百万人もの興奮したJavaScript開発者が、純粋なJavaScriptを使用して複雑なインターフェースを構築することは簡単な作業ではありません。CoffeeScriptのようにJavaScriptにクロスコンパイルする言語が人気があるのには理由があります。
OpenLaszloのLZX言語を使用し、jQueryやPrototypeなどのJavaScriptフレームワークの使用に移行した多くの開発者は、データセット、データバインディング、レプリケーション、およびレイアウトシステム。HTML5 / JavaScript開発に切り替えるFlex開発者の多くは、同じことについて不平を言っています。したがって、LZXのパワーを持ち、SWFとJavaScriptの両方にクロスコンパイルできることは、依然として非常に価値のあることです。
OpenLaszloとAdobeAIRSDKActionScript3ベースのSWF10/11ランタイムを使用すると、OpenLaszloアプリケーションをAdobe
AIRforAndroidまたはiOSアプリケーションに簡単にコンパイルできます。2010年に作成したこのビデオをチェックしてください。OpenLaszloアプリをAIRforAndroidアプリケーションにコンパイルするApacheAntスクリプトを示しています。アプリを電話にデプロイします。このワークフローは、OpenLaszlo 5.0の最新(リリースされていない)バージョンで機能します。不足しているのは、現時点では、OpenLaszlo用にモバイルおよびタッチ用に最適化されたコンポーネントセットがないことです。しかし、アクティブなコミュニティメンバーがそのようなプロジェクトに積極的に貢献するのであれば、そのようなコンポーネントセットを作成するのはそれほど手間がかかりません。つまり、LZXを使用すると、Android開発用のObjective CやJavaを習得しなくても、最新のスマートフォンやタブレットで優れたパフォーマンスを発揮するモバイルアプリケーションを開発できます。Haxeは、クロスコンパイルを多用してさらに多くのランタイム(JavaScript、Flash、NekoVM、PHP、C ++、C#、Java)をターゲットにするもう1つのオープンソースプロジェクトです。
ユーザーエクスペリエンスを向上させるためのデュアルランタイムとクロスコンパイル
過去数年間、モバイルアプリ開発者が1つの言語でアプリをコーディングし、他のモバイルプラットフォームでコードをクロスコンパイルできるようにするテクノロジーが数多くありました。OpenLaszloでも同じことができ、モジュラーアーキテクチャ(LZXで記述されたコンポーネント、LaszloScript / JavaScriptで記述されたLFC、ランタイム固有の言語で記述されたカーネル、たとえばActionScript3)により、他のランタイムを簡単に追加できます。しかし、私の目には、LZXのような言語を使用し、JavaScript、ActionScript 3、またはその他の言語やVMにクロスコンパイルするさらに重要な理由があります。これは、LZXによって可能になり、純粋なJavaScript開発では実現が難しい、見事な視覚効果と独自のユーザーエクスペリエンスを作成する機能と関係があります。
LaszloSystemsとDavidTemkin(Laszloの元CEO兼CTO)は、CinematicUserExperienceという用語を確立しました。
映画のようなユーザーエクスペリエンスは、まず第一に、あなたが対話しているのを見ているだけではなく、その「ユーザーエクスペリエンス」の部分を伝えます。シネマティックは興味をそそる用語であり、技術者以外の人がそれにスピンしたものだと思いました。技術者以外の人がそれを見たとき、これはまったく異なるタイプの製品カテゴリであるとすぐに理解しましたが、業界関係者はそれを見て、画面上で物事が動いていると言います。おそらく、異なる技術アーキテクチャを持っているかもしれません…</ p>
OpenLaszloとLZXの目標の1つは、UIエンジニアにプログラミング言語(LZX)のAPIとツールを提供して、Flashオーサリングなどのツールを使用してUXデザイナーが作成したエクスペリエンスを正確に再現することにより、このようなシネマティックユーザーエクスペリエンスの作成を可能にすることでした。道具。
これはiOSアプリ開発に関する本からの引用であり、他の企業がそのようなアプローチの価値を認識していることを示しています。
アップルのエンジニアが美しいユーザーインターフェイスについて話しているときに話したい概念の1つは、「シネマティックユーザーエクスペリエンス」の概念です。映画のようなユーザーエクスペリエンスは、本質的にはハリウッド映画のようなユーザーインターフェイスです。未来的で滑らかに見え、アニメーションを使用して物理的なオブジェクトを操作する感覚を高めます。
Appleのユーザーインターフェイスデザイナーは、これらのタイプの映画のようなユーザーインターフェイスを構築できる一連のツールを特別に提供しています。Core Animationのようなツールを使用すると、表示されるだけでなく画面外からスライドする要素や、ほぼ物理的な重みでスクロールする要素を含むユーザーインターフェイスを構築できます。
LZXとクロスコンパイラーは、この特別なユーザーエクスペリエンスを作成するためのツールを提供します。JavaScriptでも同じことができますが、コードが多くなり、おそらくはるかに困難になります。良い例は、DHTMLで実行される最初のOpenLaszloアプリケーションであるLzPixデモです。2006年に作成されましたが、それでもすばらしいUIです。JavaScriptフレームワークで構築されたようなものは見たことがありません。
デュアルランタイムは引き続き有効です
はい、デュアルランタイムアプローチは引き続き有効です。ショーケースにはDHTMLランタイムを使用するアプリケーションがもっとあるはずですが、そうでない理由はわかりません。OpenLaszloがiPadまたはタブレット用に最適化されていないという事実は間違いなく不利ですが、DHTMLランタイムはiOSおよびAndroid用に最適化できます。デスクトップブラウザーの癖が取り除かれると、モバイルブラウザー用に最適化された新しいコンポーネントセットが作成され(HTMLキャンバスとCSS2 / 3を使用してコンポーネントをレンダリングします)、OpenLaszloの堅牢なモバイルランタイムが得られます。