7

OpenLaszlo は、私の知る限り、次の機能を備えた唯一のリッチ インターネット アプリケーション プラットフォームです。

  • LZX と呼ばれる宣言型 XML ベースのユーザー インターフェイス言語 (Mozilla の XUL に類似)。
  • JavaScript または ActionScript 3 への LZX のクロスコンパイル (したがって、2 つのランタイムをサポートします)。
  • XML と JavaScript、または JavaScript のみを使用してコンポーネントを開発する能力。すべてのコンポーネントは OpenLaszlo によってレンダリングされるため、ブラウザやデバイスが異なっても同じように見えます。
  • ランタイム全体で機能するシステム、キーボード、およびマウスの管理を表示します。
  • コンポーネントは LZX (XML + JavaScript)、または JavaScript のみで記述できます。
  • データセット要素へのコンポーネントの XPath ベースのマッピングをサポートする XML データセット。
  • 多数の定義済みレイアウトをサポートするレイアウト エンジン。開発者はカスタム レイアウトを簡単に実装できます。
  • XML 属性の単純な構文を使用した制約の強力なサポート: $once{JavaScript 式} または $always{JavaScript 式}。
  • 両方のランタイムで動作する組み込みデバッガー (開発者コンソール)。

OpenLaszlo ほど簡単に HTML5 アプリケーションを作成できる最新の JavaScript フレームワークは見たことがありません。唯一の欠点は、OpenLaszlo で提供される現在のコンポーネント セットが 90 年代の Mac OS に少し似ていることです。

しかし、アプリケーションを HTML5/JavaScript アプリケーションと Adob​​e Flash アプリケーションの両方として (Adobe AIR ベースのモバイル アプリケーションを作成するオプションを使用して、その機能が OpenLaszlo サーバーに直接組み込まれていない場合でも) デプロイするアプローチはどの程度有効なのでしょうか? アドビが FalconJS コンパイラ プロトタイプで同様のことを試みたと聞きました (詳細については、このアドビのビデオ「Falcon と FalconJS に関するオープン ディスカッション」を参照)。FalconJS の概念実証のコードは、Apache Flex プロジェクトの一部として Apache Foundation に提供されますが、

OpenLaszlo ショーケース セクション ( http://www.openlaszlo.org/showcase ) で、両方のランタイムを利用するアプリケーションが 1 つもないことは驚くべきことです。

2007 年のAjaxian の古い記事で、Laszlo Webtop の「最終リリースでは OpenLaszlo 4 がサポートされる予定であり、これは Ajax と Flash アプリケーションの両方がサポートされることを意味します」と読みました。しかし、Laszlo Webtop デモ サイトhttp://gowebtop.com/webtop/には、Webtop の Flash ベース バージョンしかありません。私が知っている最も印象的な OpenLaszlo アプリケーションの 1 つであるGliffyが、OpenLaszlo のデュアル ランタイム機能を利用せずに、JavaScript を使用して再構築されていることをStackoverflow のこのディスカッションで読みました。

OpenLaszlo.org Web サイトにリストされていない可能性のある、HTML5/DHTML と Flash の両方としてデプロイされた他の大規模な OpenLaszlo アプリケーションはありますか? Flash の人気がなくなったとしても、多くのユース ケース (音声会議、ブラウザーでの 3D、GPU アクセラレーションによるビデオ再生など) に関連するテクノロジーです。

4

4 に答える 4

2

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の堅牢なモバイルランタイムが得られます。

于 2012-09-06T23:11:57.370 に答える
2

完全な答えにはならないと言って、最初にこれを警告します。ただし、情報の一部が役立つことを願っています。

私は最近、Stackoverflow に関する別の質問に関連して OpenLaszlo を調べましたが、瀕死のプロジェクトの特徴をすべて備えているように思えました (レビューでは、コメントで Raju から提供された証拠です)。

Gliffy に関連して、この記事では OpenLaszlo を放棄する理由について少し洞察を提供します。特に、コンパイル時間の問題と、これが開発時間に及ぼす影響について言及しています。

すべての要件を満たすわけではありませんが (具体的には、宣言型の XML ベースの UI 言語がサポートされているとは思いません)、Haxe / NMEは、Flash と HTML5 の両方にコンパイルできるというコア要件をカバーしているようです。 .

公正な開示、私は実際にそれを使用していませんが、それについて良いことを聞いています(私はクリエイティブ開発カンファレンスに行ったところ、少なくとも2人のスピーカーがそれについて絶賛しているのを聞きました). これは本質的に ActionScript 3.0 から、主要な煩わしさを差し引いたものであり、主要な省略 (Abstract クラスなど) を加えたものです。したがって、ActionScript 3.0 を既に知っている場合は簡単に理解できるはずであり、どちらの方法でも快適に作業できます。

于 2012-09-06T12:47:11.747 に答える
1

2006 年に、オンライン ビデオ編集アプリケーション (http://www.sarolta.tv/web/sarolta-tools/template-editor.html) を実装するために OpenLaszlo を選択しましたが、異なるプラットフォームを使用して作成を 2 回試みました。

最初に失敗した試みは DHTML を使用することでしたが、純粋な JavaScript+HTML でこれを行うことの複雑さと、ブラウザーによってコードの動作が異なるというブラウザーの癖により、その試みを成功させることができませんでした。

2 番目の試みは、純粋な Adob​​e Flash を使用することでしたが、Flash のタイムライン指向の性質は開発者にとってなじみのない概念であり、必要なものを作成することは困難でした。

最後に、XML と JavaScript の直感的な組み合わせである OpenLaszlo が選択されました。OO プログラミングと Web デザインの経験が少しあれば、誰でも簡単に習得でき、Flash で複雑なアプリケーションを構築できます。当時、OpenLaszlo は Flash のみをサポートしていましたが、すべての OS のすべてのブラウザが Flash をサポートしていました。JavaScript ベースの DHTML アプリケーションとは異なり、コードがすべてのブラウザーで同じように機能するという点で、Flash はクロスプラットフォームであることが気に入りました。当時、市場に出回っているシステムの 97% 以上が Flash をサポートしていたため、ユーザーがアプリケーションをシステムで動作させるためにソフトウェアをインストールする必要もありませんでした。

限られた数のスタッフを抱えた新興企業として、さまざまなブラウザーや OS 用に複数のバージョンのアプリケーションを構築および維持するためのリソースは存在しませんでしたが、当時 OpenLaszlo はその問題を解決しました。

OpenLaszlo が DHTML ランタイムを追加したとき、そして IBM が OpenLaszlo 用の (現在は放棄されている) Java ランタイムに取り組んでいると聞いたとき、私たちはうれしく思いました。残念ながら、2010 年 10 月以降、Laszlo システムで働いている公式の OpenLaszlo 開発者による作業はあまり行われていないため、DHTML/HTML5 ランタイムはそれ以来改善されていません。

write-once run-anywhere アプローチは、今日でも非常に望ましいものだと思います。アプリケーションが異なるシステムで異なる動作をするブラウザや OS の癖に対処しなければならないのは面倒であり、メンテナンスに多くの時間を必要とします。JQuery、特に JQuery モバイルが今日非常に人気がある理由は、それがクロスプラットフォームになるように設計されており、ブラウザーや OS の癖を目に見えないように処理するため、心配する必要がないからだと思います。JQuery モバイルはほぼすべてのプラットフォームをサポートしています。

http://jquerymobile.com/gbs/

したがって、OpenLaszlo のデュアル ランタイムはまだ有効だと思いますが、問題は、他の JavaScript フレームワークがその必要性を置き換えるために絶えず改善および進化している中で、OpenLaszlo が公式リリースなしで 2 年近く経った後でもまだ有効かどうかということです。

于 2012-09-07T00:32:37.553 に答える