从桌面向手机移植Silverlight应用

简介:

 

  Silverlight桌面应用程序的大部分代码无需修改就可以直接在Windows Phone上编译运行。将成熟的Silverlight应用从桌面往手机移植时需要特别关注的是一些细节,这可以在改写和优化两步中进行。
 
第一步,改写成可以在手机上运行应用程序。
  用Windows Phone 开发工具建立新项目,并从桌面应用程序中复制相关代码。用Frame和Page 进行导航的桌面应用需要改成基于PhoneApplicationFrame和PhoneApplicationPage进行导航的手机应用。有网络接口的应用程序,需要确认网络服务(Web Service)的接口类型,必要时重写网络接口部分。最后通过编译找到和修改可能存在的其他移植问题。
 
第二步,需要对应用程序进行针对手机的优化。
  用户界面需要针对手机屏幕的大小和分辨率进行优化。由于手机屏幕的尺寸限制,原用户界面上的文字可能会太小,不便阅读或触控。调整后的文字不应该硬编码,字号设置成15以上。触控区域应不小于9平方毫米或34像素。
 
  手机屏幕有纵向的肖像模式(480 × 800)和横向的风景模式(800 × 480),应用程序应该考虑同时支持两种模式。Grid和StackPanel控件的灵活性高,适合于兼顾横向和纵向两种模式的应用程序。而Canvas控件使用屏幕上的绝对坐标值,对实现的依赖性高,所以适用于屏幕是单一横向或单一纵向模式的应用程序。考虑到有些手机配有硬件键盘,必要时应该禁止键盘输入。
 
  优化用户界面风格时应该遵循Metro风格,也就是简洁、明确、便于移动中操作。可以选用全景视图或枢轴视图,便于用户快速在页面间浏览。还可以选用菜单栏,便于用户进行最常用的操作。
 
  优化ListBox等控件的实现,就能支持手势输入。对用户自定义控件可以增加单击、双击等鼠标事件的支持,从而支持相应的手势输入。
 
  一些应用程序的功能,如动画可能需要重新编码,以满足用户期望的性能。
使用网络服务的应用程序,需要考虑相应网络性能的优化。除了需要考虑手机上网络带宽的限制,还要充分考虑到网络延迟对应用程序性能的影响。在进行数据传输前,需要提前激活无线模块。依赖于互联网的应用程序,应该在独立存储区中缓存数据,并在网络中断时及时报错。如果应用程序频繁请求网络服务(Web Service),应该使用缓存机制收集数据、集中发送,以降低连接频率、提高效率。如果应用程序需要等待来自网络服务的更新,应该使用微软推送通知服务来及时收到通知。对后台运行的应用程序可以使用弹出通知,而前台运行的应用程序可以使用原生通知。
 
  此外,应用迁移时还可以扩展原有应用程序功能,使用GPS、照相机等硬件,发挥手机独特的优势。

 

本文转自 

飞雁 51CTO博客,原文链接:http://blog.51cto.com/felixyan/527298 ,如需转载请自行联系原作者

相关文章
|
6月前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
6月前
|
运维 监控 开发工具
应用研发平台EMAS产品常见问题之华为手机没收到通知如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
6月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
3天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
9 1
|
11天前
|
Web App开发 缓存 前端开发
拿下奇怪的前端报错(六):多摄手机webrtc拉取视频流会导致应用崩溃,从而无法进行人像扫描
本文介绍了一种解决手机摄像头切换导致应用崩溃的问题的方法。针对不支持facingMode配置的四摄手机,通过缓存和序号切换的方式,确保应用在特定设备上不会频繁崩溃,提升用户体验。
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
28天前
|
小程序
如何将CCBUPT全能墙小程序添加到手机桌面
如何将CCBUPT全能墙小程序添加到手机桌面
29 0
|
5月前
|
JSON 缓存 移动开发
原创自研uniapp+vue3手机桌面os管理系统
vue3-uniapp-os一款基于uniapp+vue3跨端手机版后台os系统新解决方案。
265 3
|
6月前
|
网络协议 数据安全/隐私保护 网络架构
如何在家中使用手机或电脑远程控制公司iStoreOS软路由下的电脑桌面
如何在家中使用手机或电脑远程控制公司iStoreOS软路由下的电脑桌面
150 4
|
6月前
|
监控 定位技术 Android开发
如何获得你的准确位置及iphon手机应用定位不准确原因分析
如何获得你的准确位置及iphon手机应用定位不准确原因分析
178 0