2

同様に、多くの高度にインタラクティブなグリッドやカスタム ツリーなどを含む現在のシステムを模倣した、ビジネスに強いアプリケーションを HTML5 で作成できますか。

私たちは、C# WinForms で記述され、一部が WPF で記述された適切に機能するシステムを持っており、最近、メイン サーバー ホストと WCF を介して通信する iPad 用のカスタム アプリの作成に着手しました。これで、MonoTouch を介して Objective C にコンパイルされる C# で記述された非常に高速なカスタム グリッドと、クールなインタラクティブな円グラフが作成されました。

今、私の上司は Android 用のバージョンを作成したいと考えており、iPad と Android の両方で実行できる単一の HTML5 アプリの作成に本当に時間を費やすべきではないかと考えています。

事は - グリッドを取る - iPad 上の私のグリッドは高速です (再利用可能なセルなど) - html5 の「データセット」タイプのソースからグリッドを作成するにはどうすればよいですか? たくさんのタグを作成してブラウザに送信する必要がありますか? jqwidgets のようなサードパーティのウィジェットが答えですか??

ありがとう

4

3 に答える 3

2

これは少し逸話ですが、私の経験では、HTML5 / JavaScriptは、特に大量のデータを表示していて、インタラクティブ機能を使用して応答時間を短縮したい場合は、モバイルデバイスではまだ十分に高速ではありません(2012年)。もう1年待ってください。モバイルデバイスが進化し続けるにつれて、この声明が時代遅れになっても驚かないでしょう。

モバイルWeb開発は確かに現在その用途があります。たとえば、単一のコードベースでほとんどのデバイスをターゲットにしたい場合などです。十分な開発リソースがなく、非ネイティブな経験を受け入れる意思がある場合。ネイティブ開発などに必要な言語の経験がない場合など。

すでにiPhoneアプリの作業を完了していることを考えると、私の謙虚な意見は、ネイティブのAndroidアプリケーションを使用する方がおそらく良いと思います。この時点で、ほぼ同じ量の作業ではるかに応答性の高いアプリケーションが得られます。

html5の「データセット」タイプのソースからグリッドを作成するにはどうすればよいですか?

グリッドに含まれる内容に応じて、プレーンな古いHTMLテーブル、またはCSSでスタイル設定された他の要素の組み合わせを使用して実行できます。ただし、実際にはさらに多くの考慮事項があります。たとえば、小さな画面(電話など)または大きな画面(タブレット)で動作する必要がありますか。多くの場合、小さな画面にグリッド全体を実際に収めることはできないため、実際にはグリッドではなくなったUIになってしまいます。jQuery MobileなどのモバイルJavaScriptフレームワークを見て、それらがどのように実行されたかを確認し、独自のアプリケーションで使用するためにフレームワークを使用することを検討することもできます。

于 2012-08-31T16:14:10.533 に答える
0

証拠として、多くのWindows8のアプリはJS/ CSS / HTMLでラップされており、ハードウェア/ファイルシステムへのアクセスを許可するためにMicrosoftが提供するいくつかのAPIが含まれています。

Excel 2013をJSベースにするまでには至っていないと思いますが、そうは言っても、開発者がプロ​​グラムをアプレットビューで拡張できるようになっているとは言えません。データ-これらのアプレットはすべて「html5」上に構築されます(これもMS-Office JS APIを使用します)。

降りるのは簡単な道ではありません-人々はjQueryがこれらのタイプのものの救世主であると考えています。これは、ソリューションを一緒にハックしようとしている場合、jQueryが望んでいたものではない場所です。例えば:

$(".table_cell").click(function () { alert(/*whatever*/); });

人々は、jQueryが。を含む要素のクリックをリッスンするように委任者を割り当てていると考えていますclass="table_cell"

それは実際にはそれがしていることではありません。それぞれをループし、イベントリスナーをそれぞれに直接接続します。人々が見逃しているのはこれらの小さなことです。Twitterのように、要素への参照をキャッシュすることを気にしなかったのは、jQueryが一緒に物事をハックするのがとても簡単だからです。つまり、JSは常に数十または数百の個々の要素に触れている(または作用している)のです。

それは誰にとっても良くありません。

jQueryはまったく悪くはありません。ブラウザの違いを回避するのに役立つ低レベルの構造として、非常に役立ちます。そのプラグインのいくつかも大丈夫です。それらがすべてすべてに対して高性能な答えであることを保証することはできません。しかし、プラグイン作成者の中には、応答性が高くパフォーマンスの高いプログラムを維持する方法を理解している人もいます。

あなたの正確なニーズに合ったものはどれですか?あなた以外の誰が知っている。

彼らは完璧に、そして迅速に機能しますか?もちろん、それは多くの異なることに依存します。

C#から来ているので、 AngularJSのようなものを見るために行うかもしれません。Angular自体は、jQueryの内部バージョンを使用して、jQueryが解決した問題を引き起こした低レベルのもののいくつかに取り組んでいます。しかし、それはデータバインディングと非常に単純なビューテンプレートを可能にします。 Hammer.jsは、非常に適切なジェスチャ追跡ライブラリでもあります。

ただし、そこから、必要に応じて独自のフレームワークを構築することをお勧めします。あなたのニーズが何であるかを誰も知らないのですが、靴箱に物を詰め込もうとすることは、さまざまな企業が何を考えているかにかかわらず、利用可能であるため、常に解決策とは限りません...

ノード作業のほとんどをAngularに任せることができ、ジェスチャー検知をHammerに任せることができ、jQuery-lite(Angular内にインストールされている飾り気のないjQがない場合は、飾り気のないjQ)から他のいくつかの基本を引き出すことができます。あなたのサイトのjQ)、またはjQ自体...

しかし、それらは単なるツールであり、答えではありません。

要素への参照を何度もクエリするのではなく、要素への参照をキャッシュし、イベントを委任し、DOM外で大規模な構造変更を行い(必要に応じてクローンノードで)、処理しようとしない場合、Webは非常に応答性が高くなりますJSは従来の継承を多用する言語であり、AJAXをいつどのように使用するか(呼び出しの数/頻度とデータのサイズ-より少ない呼び出しを優先する)に注意を払います。

于 2012-08-31T16:31:44.673 に答える
0

さまざまなJavaScriptフレームワーク(JQueryやDojoなど)には、非常に高品質のモバイルデバイス固有のウィジェットがあります。http://dojotoolkit.org/features/mobilehttp://jquerymobile.com/をご覧ください

これらは、ObjectiveCおよびJavaで開発されたネイティブアプリにどの程度近づいていますか?完璧ではありませんが、おそらく十分です。同じアプリでネイティブとHTMLを組み合わせて使用​​することもできます。一部のページは、一部のHTMLをネイティブに使用します。私はIBMのWorklightでそのようなことをしていますが、そうすると、IBMで働きます;-)特定の製品に関係なく、人々がそのアプローチを取っているのを目にします。

移植性に加えて、HTMLでアプリの多くを使用することの利点は、アプリストアを経由せずに更新されたバージョンを配信できることです。これにより、機能配信の俊敏性が向上します。

于 2012-08-31T16:09:39.937 に答える