モバイル デバイス (任意の電話) 用の Web アプリケーションの構築を開始します。
ASP.NET 3.5/ASP.NET 4.0 と C# を使用する最善の方法は何でしょうか?
更新 (2010 年 2 月)
windows mobile 7 を使用したニュースはありますか?
モバイル デバイス (任意の電話) 用の Web アプリケーションの構築を開始します。
ASP.NET 3.5/ASP.NET 4.0 と C# を使用する最善の方法は何でしょうか?
更新 (2010 年 2 月)
windows mobile 7 を使用したニュースはありますか?
本当にすべての携帯電話をサポートしたいのか、Web ページのレンダリングに多くの制限がない iPhone のようなハイエンドまたは新しい携帯電話のみをサポートしたいのかによって異なります。要件として電話で実際の HTML レンダリング、Javascript、および Cookie のサポートを求めることができる場合、実際の制約は画面のサイズの制限です。ページのサイズに注意しながら、ASP.NET での「通常の」Web 開発をうまく行う必要があります。
その場合は、ここで読むのをやめてください。
すべての携帯電話、特に古い携帯電話を本当にサポートしたい場合は、さまざまな種類の電話があることに注意する必要があります。それらの多くには、Web ページを表示するための制限と制約があります。JavaScript を使用できるものもありますが、多くは使用できません。HTML コンテンツを表示できるものもあれば、できないものもあります。Web にアクセスするには、「Wireless Markup Language」標準に依存する必要があります。そのため、これらのさまざまなデバイスをすべてサポートする Web サイトを構築することは容易ではありません。
全体像を把握するのに役立つ一般的なコンテンツ (ASP.NET 固有ではない) へのリンクを次に示します。
ただし、主な制限は、既に述べたように、通常の PC よりも画面が小さいことです。また、多くの携帯電話は JavaScript や Cookie をサポートしておらず、画像を表示しないものさえあります。
携帯電話には特別なマークアップ標準があります。たとえば、WML ページは、携帯電話で広く採用されている標準です。WML は、XML に基づく「Wireless Markup Language」の略です。WML の説明とリファレンスは、w3schools.com にあります。
以下のコードは、サンプル WML ページを示しています。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Stackoverflow">
<do type="accept" label="Menu">
<go href="#card2"/>
</do>
<p>
<select name="name">
<option value="Questions">Questions</option>
<option value="MyAccount">My account</option>
<option value="FAQ">FAQ</option>
</select>
</p>
</card>
<card id="card2" title="Menu">
<p>
You selected: $(name)
</p>
</card>
</wml>
幸いなことに、ASP.NET は WML (およびその他のモバイル マークアップ標準) コンテンツを自動的にレンダリングします。自分で WML ファイルを作成する必要はありません。組み込みメカニズムは、Web 要求のデバイス (携帯電話) のタイプを検出します。ただし、ASP.NET でのモバイル デバイスの検出は、一部の (新しい) デバイスでは正しく機能しません。多くのモバイル デバイスの機能に関する情報を含む XML 構成ファイルであるWURFLを見てください。
ASP.NET で開発したページを標準の Web ブラウザーでテストすることはできますが、開発した内容を正確に把握することはできません。デスクトップ コンピューターで携帯電話をシミュレートする、この問題に使用できるエミュレーターがいくつかあります。それらをダウンロードできる場所を説明するMicrosoft サポート記事があります。
以前は "Microsoft Mobile Internet Toolkit" と呼ばれていた ASP.NET Mobile Controls は、.NET Framework と Visual Studio を拡張して、ASP.NET がさまざまなモバイル デバイスにマークアップを配信できるようにすることで、モバイル Web アプリケーションを構築します。
ASP.NET モバイル コントロールは、さまざまな画面サイズ、向き、およびデバイス機能を処理しながら、適切なマークアップ (HTML 3.2、WML 1.1、cHTML、XHTML) をレンダリングします。
詳細については、こちらの公式 Web サイトをご覧ください。
私はカナダで無線ネットワークを扱っているので、言及しておくべきことがいくつかあります。読み込み時間を増やし、データ料金を削減するために、画像を小さく (または存在しないこともある) 維持するようにしてください。私たちのネットワークでは、ユーザーがプランに加入していない場合、ネットワークは 15 ドル/MB を請求します。携帯電話がダウンロードしようとする最適化されていない画像の一部は、ユーザーに簡単にコストをかける可能性があり、それらの大きな画像はとにかく見栄えがよくありません.
影響がないことはわかっていますが、ストリーミングなどの他のプロトコルや UDP ベースのプロトコルを使用している場合は、最大パケット サイズを少なくとも 1300 バイト以下に設定してください。ネットワーク上を移動する際のモバイルの動作方法のために、追加のヘッダー情報が追加されます。TCP/IP では、大きなパケットの問題から保護するために MSS クランプを使用しますが、これは UDP 送信や、認証ヘッダーを使用する安全なプロトコルには適用できません。対象のモバイルが RIM によって提供されている場合、この点は完全に無視できます。
一部のモバイルは、サーバーと通信するときに WAP プロキシを使用する場合があります。この場合は、キープアライブ TCP/IP を必要とする接続を使用しないようにしてください。一部のプロキシは、キープアライブ セッションの通過を許可しないように設定されていますが、新しいプロキシのほとんどは問題ないと思います。
他にもあると思いますが、覚えておくべき最も重要なことは、モバイルへの IP 接続は、誰かが Web ブラウザーを開くよりもはるかに複雑であるということです。このトランスポートは非常にトリッキーな場合があるため、非常に凝ったことをしようとすると、現在は機能していても、常に機能するとは限りません。また、最後の簡単なポイントとして、遅延とパケット損失は大きく変動する可能性があるため、リアルタイムで何かを行っている場合、遅延は 200 ミリ秒以上に達する可能性があり、パケット損失が 20 ~ 30% のレベルに急上昇するのを見てきました。回。
頑張ってください。特定の質問がある場合は、必ず質問してください。