Vra

Begin om webtoepassings vir mobiele toestelle (enige foon) te bou.
Wat sal die beste benadering wees om ASP.NET 3.5/ASP.NET 4.0 en C# te gebruik?

OPDATERING (Feb. 2010)
Enige nuus oor Windows Mobile 7?

Was dit nuttig?

Oplossing

Dit hang af of jy regtig wil ondersteun elke selfoon of slegs hoë-end of nuwe foon soos die iPhone wat nie baie beperkings het om webblaaie te lewer nie.As jy regtig kon vra HTML-weergawe, Javascript en koekies ondersteun op die telefoon as vereiste, dan is die werklike beperking die beperkte grootte van die skerm.Jy behoort goed te vaar met "normale" webontwikkeling in ASP.NET en sorg vir die grootte van die bladsye.

As dit die geval is, jy kan ophou lees hier.

As jy wil regtig elke selfoon ondersteun, veral oues, moet jy bewus wees dat daar verskillende soorte fone is.Baie van hulle het beperkings en beperkings webbladsye wys.Sommige van hulle kan JavaScript gebruik, maar baie van hulle nie.Sommige van hulle kan HTML-inhoud vertoon, maar baie ander kan nie.Hulle moet staatmaak op die "Wireless Markup Language"-standaard vir toegang tot die web.Dit is dus nie maklik om 'n webwerf te bou wat al hierdie verskillende toestelle ondersteun nie.

Hier is 'n paar skakels na algemene inhoud (nie ASP.NET-spesifiek nie), wat kan help om die hele prentjie te kry:

Hulle hoofbeperking is egter, soos ek reeds genoem het, die kleiner skerm as op gewone rekenaars.En baie selfone ondersteun nie JavaScript nie, koekies en sommige wys selfs nie beelde nie.

Daar is spesiale opmaakstandaarde vir selfone. WML bladsye is byvoorbeeld 'n algemeen aanvaarde standaard vir selfone.WML staan ​​vir "Wireless Markup Language" wat op XML gebaseer is.Jy kan 'n beskrywing en verwysing van WML vind hier op w3schools.com.

Die kode hieronder toon 'n voorbeeld WML-bladsy:

<?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 goeie nuus is dat ASP.NET WML (en ander mobiele opmaakstandaarde) inhoud outomaties weergee.Jy hoef nie self WML-lêers te skryf nie.'n Ingeboude meganisme bespeur die tipe toestel (selfoon) van die webversoeke.Mobiele toestelopsporing op ASP.NET werk egter nie korrek vir sommige (nuwe) toestelle nie.Gaan kyk na WURFL, 'n XML-konfigurasielêer wat inligting bevat oor vermoëns en kenmerke van baie mobiele toestelle.

Jy kan die bladsye wat jy ontwikkel in ASP.NET in 'n standaard webblaaier toets, maar dit sal nie die regte prentjie gee van wat jy ontwikkel het nie.Daar is 'n paar emulators beskikbaar vir hierdie probleem, wat 'n selfoon op jou rekenaar simuleer.Daar is 'n Microsoft ondersteuningsartikel wat verduidelik waar jy dit kan aflaai.

ASP.NET mobiele kontroles

Die ASP.NET Mobile Controls, voorheen bekend as die "Microsoft Mobile Internet Toolkit" brei die .NET Framework en Visual Studio uit om mobiele webtoepassings te bou deur ASP.NET in staat te stel om opmaak aan 'n wye verskeidenheid mobiele toestelle te lewer.

Die ASP.NET-selfoonkontroles lewer die toepaslike opmaak (HTML 3.2, WML 1.1, cHTML, XHTML) terwyl dit met verskillende skermgroottes, oriëntasies en toestelvermoëns handel.

Leer meer hier op die amptelike webwerf.

Ander wenke

'n Paar dinge wat ek moet noem aangesien ek op 'n draadlose netwerk in Kanada werk.Probeer enige beelde klein hou (of selfs nie bestaan ​​nie) om laaitye te verhoog en datakoste te verminder.Op ons netwerk, as die gebruiker nie op 'n plan ingeteken is nie, vra ons netwerk $15/mb.Sommige ongeoptimaliseerde beelde wat 'n foon probeer aflaai, kan die gebruiker maklik kos, en daardie groot beelde sal in elk geval nie goed lyk nie.

Ek weet dit raak jou nie, maar as jy enige ander protokolle gebruik, soos streaming, of enige UDP-gebaseerde protokolle, stel die maksimum pakkiegrootte op ten minste 1300 grepe of laer.Net as gevolg van die manier waarop 'n selfoon werk terwyl dit deur die netwerk beweeg, word ekstra kopinligting bygevoeg.Met TCP/IP gebruik ons ​​MSS-klem om teen groot pakketkwessies te beskerm, maar dit kan nie toegepas word op enige UDP-uitsendings, of enigiets veilige protokol wat 'n verifikasiekop gebruik nie.As die selfone wat jy teiken deur RIM aangebied word, kan hierdie punt heeltemal geïgnoreer word.

Sommige selfone kan 'n WAP-instaanbediener gebruik wanneer hulle met jou bediener praat. As dit 'n geval is, probeer om enige verbindings te vermy wat 'n aanhou TCP/IP vereis.Sommige gevolmagtigdes is ingestel om nie toe te laat dat enige lewendige sessies deur hulle gaan nie, alhoewel ek glo die meeste van die nuwes is goed.

Ek is seker daar is meer, die belangrikste ding wat jy in gedagte moet hou, is dat die IP-verbinding met die selfoon baie meer kompleks is as iemand wat 'n webblaaier oopmaak.Hierdie vervoer kan uiters moeilik wees, so as jy iets regtig fancy probeer doen, al werk dit nou, sal dit dalk nie altyd werk nie.Ook 'n laaste vinnige punt, die latency en pakkieverlies kan wild wissel, so as jy enigiets intyds doen, kan jou latency 200+ms bereik, en ek het gesien hoe pakkieverlies kortliks tot 20-30% vlakke styg. tye.

Sterkte, en as jy enige spesifieke vrae het, maak seker dat jy dit vra.

scroll top