海归网首页
海归宣言
导航
博客
广告位价格
会员列表
收 藏 夹
论坛帮助
登录
|
登录并检查站内短信
|
个人设置
论坛首页
|
排行榜
|
在线私聊
|
专题
|
版规
|
搜索
|
RSS
|
注册
|
活动日历
主题:
[转帖]手机应用开发商之烦恼 by 邓侃
海归论坛首页
->
海归商务
焦点讨论
|
精华区
|
嘉宾沙龙
|
白领丽人沙龙
分屏
表形显示
阅读上一个主题
::
阅读下一个主题
作者
[转帖]手机应用开发商之烦恼 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
返回顶端
[转帖]手机应用开发商之烦恼 by 邓侃
--
mmpower
- (2744 Byte) 2008-10-25 周六, 09:09
(1884 reads)
手机应用开发商之烦恼 [3] 意境 [4] 跨平台
--
mmpower
- (3980 Byte) 2008-10-25 周六, 09:12
(558 reads)
手机应用开发商之烦恼 [5] 纵深 [ 邓侃 ] (ZT)
--
mmpower
- (1873 Byte) 2008-10-25 周六, 09:13
(419 reads)
显示文章:
所有文章
1天
7天
2周
1个月
3个月
6个月
1年
时间顺序
时间逆序
海归论坛首页
->
海归商务
焦点讨论
|
精华区
|
嘉宾沙龙
|
白领丽人沙龙
所有的时间均为 北京时间
论坛转跳:
您
不能
在本论坛发表新主题,
不能
回复主题,
不能
编辑自己的文章,
不能
删除自己的文章,
不能
发表投票, 您
不可以
发表活动帖子在本论坛,
不能
添加附件
不能
下载文件,
热门标签
更多...
论坛精华荟萃
更多...
博客热门文章
更多...
海归网二次开发,based on phpbb
Copyright © 2005-2024 Haiguinet.com. All rights reserved.