从桌面向手机移植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 ,如需转载请自行联系原作者

相关文章
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
运维 监控 开发工具
应用研发平台EMAS产品常见问题之华为手机没收到通知如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
19502 81
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
1854 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
|
前端开发 搜索推荐 JavaScript
如何通过DIY.JS快速构建出一个DIY手机壳、T恤的应用?
DIY.JS 是一款基于原生 Canvas 的业务级图形库,专注于商品定制的图形交互功能,帮助开发者轻松实现个性化设计。适用于 T 恤、手机壳等多种商品场景。它自带丰富功能,无需从零构建,快速集成到项目中。通过创建舞台、添加模型、定义 DIY 区域和添加素材四个步骤即可完成基础用法。支持在线演示体验,文档详细,易上手。
818 57
|
XML 人工智能 文字识别
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
Mobile-Agent 是一款基于多模态大语言模型的智能代理,能够通过视觉感知自主完成复杂的移动设备操作任务,支持跨应用操作和纯视觉解决方案。
7672 10
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
721 12
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
1612 1
|
Web App开发 缓存 前端开发
拿下奇怪的前端报错(六):多摄手机webrtc拉取视频流会导致应用崩溃,从而无法进行人像扫描
本文介绍了一种解决手机摄像头切换导致应用崩溃的问题的方法。针对不支持facingMode配置的四摄手机,通过缓存和序号切换的方式,确保应用在特定设备上不会频繁崩溃,提升用户体验。
836 1
|
Web App开发 前端开发 网络安全
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
496 1
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用

热门文章

最新文章