海归网首页   海归宣言   导航   博客   广告位价格  
海归论坛首页 会员列表 
收 藏 夹 
论坛帮助 
登录 | 登录并检查站内短信 | 个人设置 论坛首页 |  排行榜  |  在线私聊 |  专题 | 版规 | 搜索  | RSS  | 注册 | 活动日历
主题: [转帖]手机应用开发商之烦恼 by 邓侃
回复主题   printer-friendly view    海归论坛首页 -> 海归商务           焦点讨论 | 精华区 | 嘉宾沙龙 | 白领丽人沙龙
  阅读上一个主题 :: 阅读下一个主题
作者 [转帖]手机应用开发商之烦恼 by 邓侃   
所跟贴 [转帖]手机应用开发商之烦恼 by 邓侃 -- mmpower - (2744 Byte) 2008-10-25 周六, 09:09 (1884 reads)
mmpower
[博客]
[个人文集]




头衔: 海归少将

头衔: 海归少将
声望: 专家
性别: 性别:男
加入时间: 2004/02/24
文章: 3697
来自: 3333
海归分: 244820





文章标题: 手机应用开发商之烦恼 [3] 意境 [4] 跨平台 (558 reads)      时间: 2008-10-25 周六, 09:12   

作者:mmpower海归商务 发贴, 来自【海归网】 http://www.haiguinet.com

原创】手机应用开发商之烦恼 [3] 意境 [ 邓侃 ] 于:2008-10-15 05:14:20
[1] 苦恼
[2] 卖点
[3] 意境

有位洋朋友,仰慕中华文化。一日,不无遗憾地说,“中国绘画有几千年历史,却一直没有独立地发现透视的技术,实在有点让人费解”。某人回答,“未必是坏事。受限于透视,如何能画出‘清明上河图’这样的作品?” 又说,“如果说西洋绘画的精髓在于具象,那么中华艺术的精髓在于意境。”

意境这个词不太好翻译,因为西方文化中没有对应的概念。有人翻成poetry mood,这个翻译不准确,poetry mood是诗意。不过诗意的确与意境有密切关系,因为诗的精华在于营造意境。某人把意境翻成imagination,为什么呢?

杜甫诗云,“无边落木萧萧下,不尽长江滚滚来”,我们觉得有意境。但是删掉几个字,变成“落木萧萧下,长江滚滚来”,就觉得味道淡了点。为什么?因为写落木,写江水,描绘的是局部的空间。加上了“无边”“不尽”,空间就延伸了,意境也就出来了。

王安石写南京,“登临送目,正故国晚秋,天气初肃”。虽然是写景,但是没有一个字具体刻画山水草木,落笔点在于时间的延伸。“故国”,“晚秋”,“天气初肃”,短短九个字,上下五千年,四季轮回,博大中透着一点惆怅。老王营造意境的手段在于时间的延伸。

中国古人对宇宙是这样定义的,“上下四方为宇,古往今来曰宙”,所以宇宙就是空间加时间。

“窗含西岭千秋雪,门泊东吴万里船”,本意不过是“窗含西岭雪,门泊东吴船”。加上“千秋”和“万里”两个词,延伸了时间和空间,何愁没有意境?

有人说,光有时间和空间还嫌不够,应该再加上人间。譬如辛弃疾的“沙场秋点兵”,短短五个字,却是千古绝唱,为什么?沙场,辽阔的空间。秋,肃杀的时间。点兵,千军万马。不仅时间,空间,人间都占齐了,而且每个维度都有开阔的纵深,当然是绝唱。

之所以某人把意境翻译成imagination,因为意象联想,多少有点延伸时间,空间和人间的意思。

随口考了考洋朋友,中国画的看点是什么?他回答,“笔触,布局,印章,题诗”。某人说,“这些都对,但是不能忽略留白,所谓留白,就是不着任何笔墨之处。不着笔墨,是为了留给观众想像余地。如果整幅画都被笔墨塞满,透不过气,哪里还有回味的余地?”。老外听得眼睛发直,喃喃地说,“照这个标准,西洋油画统统不入流”。

手机软件开发能不能营造出意境?出路在于想办法延伸时间,空间和人间。

或许LBS(Location Based Service)是个有潜力的切入点。地图有了,加上搜索引擎,来整理归类汗牛充栋的文字影像资料,空间和时间不是问题。结合社交网,人间也有了。如果再加上虚拟世界那样的图像技术,用户体验更棒。

在这个广阔的时间,空间和人间三维世界里,设计一个什么样的产品?游戏当然是一个思路。有没有更切合人们日常工作和生活的应用?

原创】手机应用开发商之烦恼 [4] 跨平台 [ 邓侃 ] 于:2008-10-16 08:34:37
[1] 苦恼
[2] 卖点
[3] 意境

[4] 跨平台

手机的型号款式众多。每开发一个应用软件,开发者面临的头痛事情,就是要移植到各种不同的OS平台,以及每个平台上不同型号和版本的手机。不仅如此,每当手机制造商推出一款新的手机,应用开发商不得不被动地跟进,这样更进一步增加了移植的负担。

如何让移植的工作变得轻松?这就是所谓跨平台的问题。实现跨平台的思路有三个。

1. 跨平台的编译。

说到不同的平台,大家首先想到的是不同平台的APIs不同。不同APIs固然很麻烦,但是这不是麻烦的全部分。源代码的编译,往往依赖一些libs,还要调用平台的环境变量。不同的平台,放置libs的位置不同,系统环境变量也各不相同。所以就有Automake和Autoconf这些工具,试图实现跨平台的编译。

但是Automake和Autoconf的入门壁垒很高,不容易掌握。如果有谁不信,不妨下载Apache HTTP server的源代码,和附带的makefile和config.in。打开这些makefile和config.in,看看是不是好懂。然后改写一部份源代码,让Apache做一些很酷很搞怪的动作。有些人抱怨,说makefile和config.in很邪恶。当你做完上述事情以后,或许你会理解和同情这些人的情绪。

为什么抱怨makefile和config.in很邪恶?其中很重要的原因是如何处理各个模块之间的相互依赖关系,libs的路径,以及环境变量。这些操作基本上是字符串的处理,makefile和config.in采用的是regular expression这个字符串处理工具。Regular expression中文翻译是正则表达式。凭心而论,正则表达式的发明和设计非常聪明。但是过于聪明了,就变成阳春白雪,不便于读解。拿一段稍微复杂一点的正则表达式过来,一眼读过去,往往一头雾水不解其意。一个字符一个字符死盯着读,也无济于事。无可奈何之余,只好分拆开来,一段一段在电脑里运行,看看究竟是做什么的。

如果满篇充斥着这样折磨人的正则表达式,用户自然会有怨气。不幸的是,类似Apache server这样稍微有点规模的系统,它们的makefile和config.in都是这样的天书。

光抱怨没有用,于是英雄挺身而出,解开发者于倒悬。SCons的办法是用Python来处理各个模块之间的依赖关系,libs的路径,以及环境变量。 SCons的想法很简单,用程序来解决字符串处理,回避折磨人的正则表达式。你别说,SCons真的好使,应验了一句老话,简单就是美。

虽然SCons让跨平台的编译变得轻松一些,但是对于开发者而言,每当移植一个新平台新型号,都必须扩充原有的Scons script。所以,SCons的贡献局限于减轻负担,但是负担依然存在。


2. 跨平台的语言。

Java喊的口号是write once run anywhere。 开发者写Java代码很爽,因为跨平台的工作推卸给了Java Virtual Machine(JVM)。换而言之,如果真的实现write once run anywhere这个理想,那么每个平台,每个型号,都得提供对应的JVM。

J2ME的推广并不顺利,原因不仅仅是J2ME在技术上存在缺陷,而且更重要的是厂商之间的协作。Sun Microsystem是IT业强人,Nokia与其它手机制造商也是强人。强强联手固然会有巨大的商业前途,但是困难是彼此都是老大,谁也不服小。更不要说很难达成彼此都觉得公平的利益分配方案。

C#的设计思路与Java很像,但是除了Windows,有没有听说其它平台支持C#?

不久前,Google也来趟浑水,另起炉灶搞了Android。Android里面那个Delvik virtual machine,运行效率的确比J2ME virtual machine要高。究其原因,Delvik其实不是一个彻头彻尾的虚拟机,这是另外一个故事,按下不表。Google号召手机制造商们组织起一个联盟,都来使用Android。这对于应用开发商而言,当然是福音,但是手机制造商们是不是衷心拥护,有待观察。

J2ME,C#和Android,描绘的前景都很诱人,但是严酷的现实是,对于手机应用开发者而言,不仅要移植Symbian,Brew,而且还要移植J2ME,C#和Android,负担不是降低了,反而更重了。

另外,Virtual machine与Native OS相比,运行效率多少会差一点。对于简单的手机应用来讲,这个缺陷不矛盾。但是如果手机应用涉及到大量数据,导致高额的IO和CPU消耗,virtual machine的缺陷就变得明显。


3. 拆分应用程序,提炼跨平台的模块。

很多手机应用程序,都涉及到用户界面的渲染,譬如绘制button之类控件,还有影像的显示。都涉及到与网络服务器的交互,譬如类似于HTML里面form那样的功能。都涉及到与用户的交互,譬如用户触摸屏幕的不同部位,应用程序有不同响应。

界面渲染,与网络服务器交互,与用户交互,这些功能,浏览器里都有。设想一下,把应用程序中有关界面渲染,与网络服务器和用户的交互分离出来,交给浏览器去完成,那么手机应用的开发强度就会大大降低。开发商们要做的工作主要是设计HTML页面,调试JavaScript。

但是单纯依赖HTML + JavaScript 还不够。手机应用程序不仅要与网络服务器交互,与用户交互,还需要与手机本地的功能块交互,譬如地址本,譬如GPS驱动模块,等等。所以,除了HTML + JavaScript,还要有Plug-in。手机应用开发商的开发负担,将来主要集中在开发这些plug-ins上。

WebKit和V8很值得研究,WebKit作为一个渲染机(Rendering engine),主要负责HTML的解析和界面的渲染。V8是新一代JavaScript engine。之所以值得研究,有两个原因。a. 它们都是开源项目,b. WebKit已经包含在多个平台上,譬如Symbian,iPhone和Android。


前面说了三个实现跨平台的思路,对于手机开发者而言,应该做什么样的选择?个人的建议是,

1. 基点放在1。
2. 着力发展3,plug-in部份结合1。
3. 密切跟踪2的进展。

作者:mmpower海归商务 发贴, 来自【海归网】 http://www.haiguinet.com









相关主题
[转帖]手机充电该怎么充? 海归茶馆 2014-10-24 周五, 09:31
高端职位信息-手机行业-研发中心-硬件中国区老大 IT 2012-4-16 周一, 18:38
职位信息:手机底层开发 IT 2011-8-31 周三, 11:16
猎头职位信息:手机应用开发 海归招聘 2011-8-31 周三, 11:14
猎头职位:优秀国内创业企业招嵌入式手机软件开发工程师 海归职场 2010-9-23 周四, 11:11
[分享]Nokia手机北京研发中心招聘研发/项目管理等若干职位 海归职场 2010-9-17 周五, 10:25
[高薪]@@国内项目手机软件开发PM--大连 海归职场 2009-8-27 周四, 15:29
[转帖]手机的未来 海归主坛 2008-9-24 周三, 14:55

返回顶端
阅读会员资料 mmpower离线  发送站内短信 浏览发表者的主页
显示文章:     
回复主题   printer-friendly view    海归论坛首页 -> 海归商务           焦点讨论 | 精华区 | 嘉宾沙龙 | 白领丽人沙龙 所有的时间均为 北京时间


 
论坛转跳:   
不能在本论坛发表新主题, 不能回复主题, 不能编辑自己的文章, 不能删除自己的文章, 不能发表投票, 您 不可以 发表活动帖子在本论坛, 不能添加附件不能下载文件, 
   热门标签 更多...
   论坛精华荟萃 更多...
   博客热门文章 更多...


海归网二次开发,based on phpbb
Copyright © 2005-2024 Haiguinet.com. All rights reserved.