在 5 月 31 日,由天翼空间·开发者工厂主办,InfoQ 协助策划的第七期专家讲坛活动上,自由软件开发者张圣勇( @ 神秘的大厨)向大家分享了在 WebApp 开发中的一些经验,并介绍了基于 HTML5 的移动开发框架——Sencha Touch。
张圣勇指出 WebApp 是天然的移动互联网应用,目前用的较广的是 HTML+CSS+JavaScript 组合,随着 HTML5 技术逐渐成熟,势必会升级为 HTML5+CSS3+JavaScript 的技术形态,但最终,JavaScript 才是技术的关键。他列举了目前较常用的三款 JavaScript 框架: JQuery 、 Sencha 和 Bindows 。
问:手机 WebApp 是什么?需要用什么语言开发?
答:所谓 WebApp,顾名思义,它是运行在 Web Server 上的 App,但是每一个应用都符合 Bundles 约束,即运行在一个 Package 里面,在 Web Server 上表现为在一个单独的 Path 里,可以自由的部署和删除。所有的网站都可以称为 WebApp,这里所讲的 WebApp 更偏重于在手机上的应用,主要使用 HTML/HTML5+CSS/CSS3+JavaScript 语言开发。
问:假如我写完了一个 Web 项目,如何打包?能在移动端拥有一个独立的程序入口?通过什么技术可以实现呢?
答:怎么打包,要看使用什么样的 Webserver 环境,比如说使用的 Tomcat,以 Eclipse 为 IED 开发工具,可以使用 Eclipse 带的打包工具,制作成 War 包,也可以自己将 Webroot 下的文件压缩成 Zip 文件,然后将 Zip 后缀修改成 War,然后放在 Tomcat 的 WebApps 下即可。在移动端拥有一个独立入口可以使用 JS 技术或者在服务端获取 user-agent 信息判断是否手机,如果是手机 将页面 Direct 到手机用页面。
问:手机 Web 应用和 PC Web 应用在开发上最大的区别是什么?
答:手机 Web 应用需要技术的掌控更强一些,最大的区别在于要考虑屏幕的问题,以及处理效率问题。
问:手机 WebApp 目前主流开发技术是什么?您能介绍一下 HTML5 在移动手持这方面有哪些优势吗?
答:要看实际项目的需求,像企业应用可以选择 Sencha Touch 框架,自由开发可以使用 jQuery 等,jQuery 的插件也很丰富能够满足不同的需要。
问:时下 HTML5 在开发社区越来越热,但是作为一个初学者完全看不出 HTML5 和传统 WAP 相比有什么优势?
答:HTML5 比 HTML 多了更多的选择,像对 Media、Audio 的支持,以及 OpenGL 的支持。HTML5 和 Wap 有本质区别,Wap 是有专门标签的。
问:云应用不是关键应用,是不是仅仅不受大家欢迎?
答:准确的说应该现有的一些云应用,还不能解决实际的应用问题。
问:手机 WebApp 现在是用的哪些技术在开发!手机 WebApp 与 PC Web 的区别与联系。
答:主要使用的是 JS,jQuery 框架等 Sencha Touch 框架也逐渐为大家使用。
问:HTML5 做出来的网站怎么用服务器脚本?比如说网站是 Servlet 做的服务器后台。能和 JSP 混合写网页吗?和传统 HTML 一样吗?
答:离线的 WebApp 应用主要是使用了 Web2.0 的 AJax 技术,可以异步的与 Servelet 通讯,可以 JSP 混合写页面,JSP 最后到 Browser 的也是 HTML 内容。
问:一般的应用流量是多少,就是到客户端要下载多大?
答:JS 应该控制在 300~500K 左右,太大下载时间就会比较长,用户体验不好。
问:手机上 WebApp 应用跟浏览器联系紧密,需要考虑哪些问题?
答:需要考虑的就是 Browser 对 JS 以及 HTML5、CSS3 的支持问题,毕竟不同用户的手机会有差异,当做大众应用的时候,可以适当放弃一些低端用户,看手机的使用趋势,争取大众用户。
问:Sencha 里面支持 HTML5 吗?
答:支持,而且得到了很好的支持,Sencha Touch 支持 iOS、Android、Webos、Blackberry 等手机 OS。
问:Win8 上可以直接支持 HTML5+CSS3+JS. 请问开发的 Web APP 是否可以直接在 Win8 上使用,如果要该,改动的大吗?
答:应该可以直接在 Win8 上使用,不需要做大的改动。
问:目前各手机平台中的 浏览器对 HTML5 支持度怎么样?
答:iOS 支持度最好,Android 其次,不过据说 Android4.0 之后会移植 Chrome 浏览器,支持会更好!
问:X- 拼图源代码可以在 Eclipse 里面编译和打包吗?
答:不可用,需要命令行或者编写一个批处理文件来完成打包工作即可。
问:将 X- 拼图代码打包用的软件英文名是什么?
答:Sencha sdk tools,可以从 http://sencha.com 上下载。
问:您提供的那个传说中的打包程序到底是做什么用的?如果只是打包的话好像也没什么作用嘛,比如我做 Android 开发的话打包 APK 的话不是用 Eclipse 就可以简单打出 APK?
答:这个打包工具可以实现,CSS 的优化、多个 JS 文件的合并优化、压缩、混淆、以及将 WebApp 生成 Android APK 文件,以及生成 iOS 应用 iPA 文件。
问:WebApp 能启动或停止一个后台 Service 吗?
答:设定好通讯机制,可以管理后台的,WebApp 主要使用可 Ajax 的通讯,可以将操控发给后台。
天翼空间开发者社区专家讲坛是天翼空间开发者社区( www.189works.com )2012 年针对开发者推出的一项提升专业能力的系列讲座,每周四晚,邀请移动互联网开发领域的权威专家,通过语音频道专题讲座,线上论坛访谈,以及微博、QQ 群线上同步直播的形式,为社区的开发者用户提供系统的技术讲座,答疑,以及运营知识方面的培训。
评论