2016-07-28 9 views
0

現在、Appcelerator/Titaniumを使用してAndroidおよびiOSモバイルアプリを構築中です。WebViewを使用すべきですか?

GoogleのAPIは最新のストーリーとストーリーのJSONレスポンスを返し、リストに表示され、ユーザーがストーリーを選択するとレンダリングされます。

今まで私はPhonegapをアプリケーション用に使用していたので、単純にHTMLをJSONレスポンスで出力してすべてがうまくいきました。

私はPhonegapで遭遇したいくつかの制限のためにAppceleratorに移りました。それは本当に単なるWebViewです。しかし、WebViewよりもストーリーのコンテンツを表示するには良い方法はありません。

たとえば、APIは完全なストーリーコンテンツをHTML形式で返します。Facebook、Twitterの投稿、リンク、動画、グラフ、iframe、およびインラインのjavascriptとCSSを埋め込む傾向があるので、ほとんどのHTMLタグ<p>,<strong><img src=""/><a href="">links</a><script></script><iframe></iframe>を含めることができます。

しかし、WebViewsをもう一度使用するのは一歩前進しているようですが、現時点では、HTMLを解析してネイティブコンポーネントとしてレンダリングできる要素を抽出するよりも実用的なようですその中におそらくカンツ(埋め込みツイート/フェイスブック)

私は知ってappceleratorは、ネイティブlabelコンポーネントにHTMLを設定することができますが、これはアンドロイドをサポートし、JSやCSSをカバーしていません。 iOSについては、AttributedStringsを見てきましたが、これもサポートに限りがあります。

私はこれを行う正しい方法であることの再確認を探しています。 WebViewコンポーネントをレンダリングするとパフォーマンスに多少の影響が出ることはたくさんあります。だから私はとても躊躇しています。

私の他の悩みは、私がWebViewですべてのクリックをキャプチャするのに苦労していることです。たとえば、ユーザーが埋め込みツイートをクリックすると、アプリはすぐに外部ブラウザで開く必要があるときに、TwitterのフルスクリーンWebViewになります(Phonegapから移動したい理由)。 Appceleratorはcommunicate via JavaScriptにこのようなことを処理させますが、埋め込まれたツイートがiFramesにあるので機能しません。確かにこれを行う方法がある、そこには私がやりたいことを達成した無数の他のアプリがある、私はちょうど私が何かを明らかに欠けているように感じる!

答えて

0

私はあなたの問題はWebViewのコンポーネントを使用して解決しますが、アカウントにいくつかの制限を取ることができると思う:(http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.WebView

  • あなたはWebViewの内部でイベントをキャプチャしたい場合は、リモートすることはできません。アプリケーションでローカルテンプレートを使用し、APIサービスを使用してコンテンツを取得し、ウェブコンテンツをローカルコンテンツとしてレンダリングすると、クリックなどのイベントをキャプチャできます。
  • twitter、facebookなどのサードパーティコンテンツを埋め込むにはいくつかの制限があります。あなたは埋め込まれたコンテンツをうまく動作させるためにいくつかの "ハック"を作らなければなりません
+0

ありがとう@juanblo、サードパーティのコンテンツを埋め込むためのこれらの「ハック」に関する情報はありますか?私はそれについて何の情報も見つけることができない奇妙なことを知っているが、私がやりたいことを正確にやっている見た無数のアプリがある – robobobobo

関連する問題