Chapter19:MobileApplicationsObjectives•Defineamobileapplication.•Understandcomponentsfoundinamobileapplication.•Learnthekeyscenarioswheremobileapplicationswouldbeused.•Learnthedesignconsiderationsformobileapplications.•Identifyspecificscenariosformobileapplications,suchasdeployment,powerusage,andsynchronization.•Learnthekeypatternsandtechnologyconsiderationsfordesigningmobileapplications.目标定义个移动应。理解建立个移动应素。学习移动应重户场景。学习移动应设计考虑因素。鉴别特定移动应场景,如部署,电量同步等。学习移动应关键模型技术因素。OverviewAmobileapplicationwillnormallybestructuredasamulti-layeredapplicationconsistingofuserexperience,business,anddatalayers.Whendevelopingamobileapplication,youmaychoosetodevelopathinWeb-basedclientorarichclient.Ifyouarebuildingarichclient,thebusinessanddataserviceslayersarelikelytobelocatedonthedeviceitself.Ifyouarebuildingathinclient,thebusinessanddatalayerswillbelocatedontheserver.Figure1illustratescommonrichclientmobileapplicationarchitecturewithcomponentsgroupedbyareasofconcern.概述通常,移动应由个层应结构,包括户体验、业务数据等。移动应时,以选择做个基于网络瘦客户端或个富客户端。如果选择富客户端,那么业务数据服务层般位于设备本身。如果选择瘦客户端,那么业务数据层则位于服务器端。图1,根据组成素关系,描述个富客户端移动应架构。图1:常富客户端应架构DesignConsiderationsThefollowingdesignguidelinesprovideinformationaboutdifferentaspectsyoushouldconsiderwhendesigningamobileapplication.Followtheseguidelinestoensurethatyourapplicationmeetsyourrequirementsandperformsefficientlyinscenarioscommontomobileapplications:设计考虑当设计个移动应时,面设计方针提供应该考虑不同方面信息。遵循这些指能够确保应能够满足需求,同时,于般移动应能够有效。•Decideifyouwillbuildarichclient,athinWebclient,orrichInternetapplication(RIA).Ifyourapplicationrequireslocalprocessingandmustworkinanoccasionallyconnectedscenario,considerdesigningarichclient.Keepinmindthatarichclientapplicationwillconsumemoredeviceresourcesandwillbemorecomplextoinstallandmaintain.Ifyourapplicationcandependonserverprocessingandwillalwaysbefullyconnected,considerdesigningathinclient.Ifyourapplicationrequiresarichuserinterface(UI),onlylimitedaccesstolocalresources,andmustbeportabletootherplatforms,designanRIAclient.决定建立个富客户端、基于网络瘦客户端或富Internet应(RIA)。如果应需本地处理,偶尔联网必须工作,那么就考虑设计成个富客户端。记住,个富客户端应消耗更设备资源,按照维护工作比较责。如果应能够依靠服务器处理,并且直保持联网,那么就考虑设计瘦客户端。如果应需丰富户体验,使本地资源受限,并且必须能够移植其,那么就设计成RIA客户端。•Determinethedevicetypesyouwillsupport.Whenchoosingwhichdevicetypestosupport,considerscreensize,resolution(DPI),CPUperformancecharacteristics,memoryandstoragespace,anddevelopmenttoolenvironmentavailability.Inaddition,factorinuserrequirementsandorganizationalconstraints.决定支持设备类型。选择支持设备类型时,考虑屏幕、分辨率(DPI)、CPU特性、主存、扩展存储工具环境。另,还考虑户需求组织限制因素。•Designtheapplicationwithoccasionallyconnectedlimited-bandwidthscenariosinmind.Mostmobileapplicationsmustworkwhenanetworkconnectionisintermittentornotavailable.Itisvitalinthissituationtodesignyourcaching,statemanagement,anddataaccessmechanismswithintermittentnetworkconnectivityinmind.Batchcommunicationsfortimesofconnectivity.Choosehardwareandsoftwareprotocolsbasedonspeed,pow...