Frage

Starten, um Web-Anwendungen für mobile Geräte (jedes Telefon) zu bauen.
Was wäre der beste Ansatz mit ASP.NET 3.5 / ASP.NET 4.0 und C #?

UPDATE (Feb2010)
Alle Nachrichten mit Windows Mobile 7?

War es hilfreich?

Lösung

Es hängt davon ab, ob Sie wirklich wollen jedes Handy unterstützt oder nur High-End-oder neues Handy wie das iPhone, die Seiten-Rendering Web nicht viele Einschränkungen. Wenn Sie für echte HTML-Rendering, Javascript und Cookies Unterstützung am Telefon als Anforderung stellen können , dann die wirkliche Einschränkung ist die begrenzte Größe des Bildschirms . Sie sollten mit „normaler“ Web-Entwicklung in ASP.NET die Pflege auf die Größe der Seiten in Ordnung zu tun.

Wenn das der Fall ist, können Sie hier aufhören zu lesen.

Wenn Sie wirklich will, um jedes Handy unterstützt , vor allem alte, sollten Sie sich bewusst sein, dass es verschiedene Arten von Telefonen. Viele von ihnen haben Beschränkungen und Zwänge zeigt Web-Seiten. Einige von ihnen können Sie JavaScript verwenden, aber viele von ihnen nicht. Einige von ihnen können HTML-Inhalte angezeigt werden, aber viele andere nicht können. Sie haben für den Zugriff auf Web auf dem „Wireless Markup Language“ Standard verlassen. Also, es ist nicht einfach, eine Website zu erstellen, die all diese verschiedenen Geräte unterstützt.

Hier sind einige Links zu allgemeinem Inhalt (nicht ASP.NET-spezifisch), die das ganze Bild helfen könnte bekommen:

jedoch ihre wichtigste Einschränkung ist, wie ich bereits erwähnt, die kleineren Bildschirm als auf normalen PCs. Und viele Handys nicht unterstützen JavaScript, Cookies und einige sogar nicht zeigen Bilder.

Es gibt spezielle Markup-Standards für Mobiltelefone. WML-Seiten ist zum Beispiel ein weit verbreiteter Standard für Handys. WML steht für „Wireless Markup Language“, die auf XML basiert. Sie können eine Beschreibung und Referenz von WML hier auf w3schools.com .

Der folgende Code zeigt ein Beispiel für WML-Seite:

<?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>

Die gute Nachricht ist, dass ASP.NET rendert WML (und andere mobile Auszeichnungs Standards) Inhalt automatisch. Sie müssen nicht schreiben WML selbst Dateien. Ein eingebauter Mechanismus erfasst den Typ des Geräts (Handy) der Web-Anfragen. Mobilgeräteerkennung auf ASP.NET funktioniert jedoch nicht richtig für einige (neueren) Geräte. Schauen Sie sich auf WURFL , eine XML-Konfigurationsdatei, die Informationen über Funktionen und Features von vielen mobilen Geräten enthält.

Sie können die Seiten testen Sie in ASP.NET in einem Standard-Web-Browser zu entwickeln, aber es würde nicht geben th rechtes Bild von dem, was Sie entwickelt haben. Es gibt einige Emulatoren für dieses Problem, das ein Handy auf Ihrem Desktop-Computer zu simulieren. Es gibt einen Microsoft-Support-Artikel , die erklärt, wo Sie können sie herunterladen.

ASP.NET Mobile Steuerungen

Die Steuerelemente ASP.NET Mobile, früher knowns als „Microsoft Mobile Internet Toolkit“ erweitert das .NET Framework und Visual Studio mobile Web-Anwendungen zu erstellen, indem ASP.NET ermöglicht Markup für eine Vielzahl von mobilen Geräten zu liefern.

Das ASP.NET Mobile-Steuerelemente macht das entsprechende Markup (HTML 3.2, WML 1.1, cHTML-, XHTML), während mit unterschiedlichen Bildschirmgrößen, Orientierungen und Gerätefähigkeiten zu tun.

Weitere Informationen hier auf der offiziellen Webseite .

Andere Tipps

Ein paar Dinge, die ich erwähnen soll, da ich in einem drahtlosen Netzwerk in Kanada arbeiten. Versuchen Sie, und halten keine Bilder klein (oder gar nicht existent) Ladezeiten zu erhöhen und Datengebühren zu reduzieren. Auf unserem Netzwerk, wenn der Benutzer nicht auf einen Plan gezeichnet ist, lädt unser Netzwerk $ 15 / mb. Einige nicht optimierten Bilder ein Telefon bequem herunterladen Dieser kann den Benutzer kosten, und die großen Bilder nicht sowieso gut aussehen.

Ich weiß, dass es Sie nicht beeinflussen, aber wenn Sie andere Protokolle verwenden, wie Streaming, oder alle UDP-basierte Protokolle, stellen Sie die maximale Paketgröße auf atleast 1300 Bytes oder weniger. Gerade wegen der Art und Weise ein mobiles Arbeiten, wie es die Bewegungen rund um das Netzwerk, zusätzliche Header-Informationen hinzugefügt gets. Mit TCP / IP verwenden wir MSS-Klemm gegen großes Paket Probleme zu schützen, aber dies kann nicht an UDP-Übertragungen angewandt werden, oder irgendetwas sicheres Protokoll, das ein Authentication Header verwendet. Wenn die Handys Sie sind Targeting von RIM angeboten werden, kann dieser Punkt vollständig ignoriert werden.

Einige Handys können einen WAP-Proxy verwenden, wenn Sie sind Server sprechen, wenn dies ein Fall ist, versuchen zu vermeiden alle Verbindungen verwenden, die einen Keep-Alive-TCP / IP benötigen. Einige Proxies sind auf keine Keep-Alive erlauben Sitzungen durch sie gehen, obwohl ich die meisten der neuen beleive sind in Ordnung.

Ich bin sicher, dass es mehr ist, ist die wichtigste Sache, die Sie in Sie sind Auge behalten sollte, dass die IP-Verbindung zum mobilen viel komplexer ist dann jemand einen Web-Browser öffnen. Dieser Transport kann extrem schwierig sein, also, wenn Sie versuchen, etwas wirklich Lust zu tun, auch wenn es jetzt funktioniert, kann es nicht immer. Auch ein letzter schneller Punkt, die Latenzzeit und Paketverlust kann stark schwanken, also, wenn Sie etwas zu tun, in Echtzeit, Sie Latenz 200 + ms treffen konnten, und ich habe für kurzen Paketverlust Spitze zu 20-30% Ebenen gesehen Zeiten.

Good Luck, und wenn Sie spezielle Fragen haben, sollten Sie sie fragen.

Weitere Informationen finden Sie hier: windows-mobile-Entwicklung-wo-zu-beginnen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top