关注移动产品设计 By Cola
| 打印文章 | 这篇文章由Cola于2010年03月2日 17:58发表在其它。你可以订阅RSS 2.0 也可以发表评论或引用到你的网站。 |
没有评论
没有引用
【转载】欢呼吧!App Inventor for Android 使用总结
大约1月前 - 没有评论
转载自TechCrunch中文站 原文地址:http://www.techcrunchchina.com/archives/1754 译文版权声明:未经许可请勿转载。如需使用请联系 TechCrunch中文站 昨日我们报道了Google App Inventor for Android,它是一个基于网页的开发环境,即使是没有开发背景的人也能通过他轻松创建Android应用程序。这个产品已经测试了一年之久了,主要是和教育机构合作进行的测试,因此,在课堂上接触到它的学生们很可能成为Android应用暴增的主要力量。纽约时报的一篇报道引用了项目带头人Harold Abelson(MIT教授)的话:“App Inventor编写的应用程序或许不是很完美,但它们却是普通人都能做的,而且通常是在几分钟内就可完成。”那么,会不会今后成千上万的Android用户都会为自己的设备编写应用程序呢?说不准。 今天早晨,我花了大概90分钟在App Inventor上编写了几个应用程序。我对此非常兴奋,不过我觉得这不是真的‘普通人’就能完成的。除非你只想做一个如‘Hello World’的简单应用,否则你就得通读所有文档,而且现有的文档感觉还不太够,不过对于学生课堂学习应该是很充分了。对于普通人来说,App Inventor学习起来并不是那么容易的,当然,相比直接编写代码要简单的多。 在我介绍我使用App Inventor的经历之前,我想有必要公布一下我的编程背景。在高中,我学习了一年的Visual Basic,其后我还选修过几门C++的课,不过从没实战过。我也从未用过和App Inventor很像的Scratch。相比于专业开发者,我当然差距很大,不过相比于‘普通’Android用户而言,我的编程知识还算不少。 相对于安装Eclipse和Android SDK,启动App Inventor要更简单,不过还是有些麻烦。首先,你要确保正确版本的Java已经开启;然后,你要为你的设备安装一个客户端;接着,你要为你的Android手机更改一些设置(允许安装未知来源的应用,开启开发人员模式等等)。将手机连上电脑,登录进App Inventor,最后再允许Java应用启动,你就可以玩弄App Inventor了。看起来过程好像有些麻烦,不过如果你知道这些该怎么做的话,整个过程应该不超过10分钟。 开始使用App Inventor后,你会发现它由两个部分构成:设计视图和块编辑视图。帮助文档很好解释了这两者的区别,大概就是:你可以在设计视图中完成诸如添加按钮、文本框等程序外观的设计,设计视图就是一个网页;在块编辑视图进行真正的代码编辑,块编辑视图就是一个Java应用。如果你将Android设备连接到了电脑上,你还可以随时在手机上看到你对应用程序做的修改。 我首先想到的是开发一个TechCrunch应用程序,用户可以通过关键词监测TechCrunch的文章,一旦有相关的报道这个应用程序就会提醒。程序的外观设计很简单——首先在设计视图放置一个文本框、一个标签、一个按钮,再把宽度等设置一下,不要太丑就行。接下来就到了难的了:让这些按钮真的工作起来,这就需要使用块编辑视图了。 块编辑视图让我想到了苹果的Automator,通过Automator用户可以将自己对应用程序的逻辑绘制出来,当然,块编辑视图要复杂的多。如果App Inventor已经有了可以完成你要的任务的组件,那么让应用程序按你的思路工作就很简单了,比如,在用户按下按钮时要保存文本框的内容到数据库就很简单。不幸的是,已有的组件还不能很好的满足我们的需求,在我使用App Inventor的过程中就因此而失败了两次。 先找到合适的组件再下手 起初我打算使用RSS feed来监测TechCrunch的文章,我觉得这个组件应该是有的。可事实是:真的就没有!不过,App Inventor却有一些现成的Twitter组件,包括一个搜索功能——或许我可以通过监测TechCrunch Twitter feed来完成用户的检索?于是我将相应的组件拖进来稍加设置修改(大概只花了两分钟),我的应用程序就能按照用户输入的内容呈现Twitter上的搜索结果了,太酷了。不过这却不能实现只检索一个Twitter帐号的状态更新(搜索结果是从所有的tweet中得到),看来我是没有能力用App Inventor来实现找个小项目了,不得不搁置一旁。更新:貌似我可以使用join块在搜索命令前增加“from:techcrunch”来实现这个功能。 于是,我开始了我的第二个小项目,我把它叫做Draw N’ Send。考虑到第一个小项目遇到的困难,这次我要做的应用程序和App Inventor中的一个叫PaintPot示例应用很相似,用户可以通过它绘制简单的图案(我想增加一个email功能,发送绘制的图案)。起初进展很顺利,毕竟有一个一步步的示例教程:我很快就把颜色按钮安放到位,我已经可以在画纸上绘制彩色的点和线了。现在基本的绘制功能已经到位了,我就开始研究我的email功能。可是我再次遇到个问题:不知道什么原因,似乎没有组件能完成将我绘制的图案保存成图片文件的功能,因此没法完成email。我不得不再次放弃。 总结和展望 最后总结一下。首先,尽管App Inventor号称是面向‘所有人’的开发环境,你仍旧要花时间学习它,才能真正的顺畅使用。不过学习可不是那么容易的,现在的示例、文档都还不够充分。(如果你想读到更多的示例和文档,可以参考南佛罗里达大学教授Dave Wolber的网站Appinventor.org,它并不隶属于Google。) 另外一个很重要的事情是App Inventor中的组件种类还不够多,如果‘普通人’去使用App Inventor,却没有自己要的组件,或许他就得和我一样不得不放弃了。Google称他们在努力丰富组件库,而且Component Developer Kit(组件开发工具包)可能会让组件数目迅速增加(译者注:或许未来 的组件库将和WordPress的插件库类似)。但现在,你可以先去熟悉各种功能,到时候你就可以使用App Inventor编写出色的应用了。 English Version by Jason
转帖:为什么说Android令人沮丧
大约3月前 - 没有评论
原文地址:http://mxwu.does-exist.info/blog/?p=220 为什么说Android令人沮丧 2010/05/30 于 2:38 下午mxwu已有 48 条评论 这一段时间,随着Moto的一系列手机引爆了Android市场,移动市场所有的目光都集中在 Android这颗新星之上。一时之间,无论芯片企业、设备企业、软件企业还是互联网企业表示鼎立支持,连联想也大张旗鼓的宣传基于Android的 LePhone。然而,Android真的就能改变整个移动设备市场的格局么? 1. 心不在焉 为了推广Android,Google成立了OHA (Open Handset Alliance)。在Google的号召力下,已有40多家覆盖了从芯片、运营商到终端的合作伙伴加入到OHA之中。在OHA的官方网站上,不乏Intel、ARM、中国移动、华为、Acer、Dell、三星、LG等业界大腕。看见这些大腕,我不由得想起一个词乌合之众。成语“乌合之众”的意思是:比喻临时杂凑的、毫无组织纪律的一群人,这个词来形容现在Android社区中这些心不在焉的的大腕再合适不过了。 对于ARM、Intel这样的芯片厂商来说,Android可有可无。因为它们本来就是面向所有平台的,它们也不会特意为Android开发一款专门的芯片,不过是拿现有的产品进来充数。 对于运营商来说,它们的重点不在终端,它们关心的是能否通过Android这个平台集成自身的服务,从而把用户绑定在自己的网上。 对于三星、 LG这样的终端厂商来说,Android只是多了一个手机操作系统的选择。它们可不想处处受制于人,所以,大部分终端厂商都拥有多个操作系统的手机。 2. 社区之道 Google的开放政策,试图建立一个健康的社区,让更多的厂商加入到Android社区里来,一起把Android做大。而一个健康的社区必须满足两点: 有许多人为这个社区贡献。 在社区内的所有人能够获利。 IT业内也有很多为人所津津乐道的社区例子,无不满足这两点。比如Linux社区,无论是Redhat、Novell、Intel,还是IBM,主流Linux厂商一面使用Linux技术,一面也把自己开发的技术贡献给Linux社区,最终,Linux占据了相当的服务器市场。又如,Wintel联盟,一面微软推出功能更强大的软件,一面Intel推出更强大的处理器支持微软的软件,最后,两个巨头共同促进了整个PC行业的发展。 没有第三方贡献!Android社区正处于 Google一家贡献,其他家索取的畸形形态。浏览一下Android的源代码,绝大部分是Google的员工编写,鲜有看见其他社区成员贡献代码的影子。无论是中国移动的OMS还是HTC的Sense UI,都是闭源产品。当然,他们这么做是符合Android的软件许可证,法律上是无可厚非的。但是过于保护自身利益的结果是伤害了整个社区。 那么唯一的贡献者Google又得到什么了呢?Google作为一家商业公司,绝对不可能傻呵呵砸这么多钱,做出一个好产品却全让其他人赚钱,Google必须要利用Android盈利。那么,怎么盈利呢?Google的目的在移动互联网时代,把用户绑定在自己的服务上,Android在各个方面都和Google自身的互联网产品高度集成,只要用户使用Google的产品,Google就能从中赚钱。 Google已经足够仁慈了。Android这样创新的技术,已经免费给你们用了,Google也不指望HTC、中国移动能够贡献多少源代码给社区,但是好歹不能断了Google的财路吧?事实的情况是,HTC、中国移动疯狂进行“去Google化”,挖空心思剪裁掉Google的服务,用自己的取而代之,这无疑触动了Google的核心利益。他们一面从Android社区吸取了新鲜的血液,一面又妄图把创新的帽子带在自己头上。Google会眼睁睁的看着他们这么做么?当然不会。 3. 社区控制 Android 是开源产品,这并不意味着Goolge会丧失对整个社区的控制力,它绝不会傻到某一天让OMS/Sense UI这样的Android的分支反过来在市场上击败Android的主干。Google会牢牢的控制住整个社区,使得社区按照它所期望的方向发展。在这里,我重新说明一次,开源不等于开放,看一个产品是否开放,要看是否有大量三方的源代码进入主干。 Google控制社区的核心手法就是频繁升级Android的同时少量修改API,造成兼容性问题。毫无疑问,开发人员会紧跟Google的步伐使用上新的API开发出新的应用程序,消费者也乐于购买这些带有新功能的设备。真正郁闷的,是HTC和中国移动这样定制Android桌面环境的终端厂商。 做过软件开发的都知道,底层一个API的变动,会造成大量兼容性问题,极端情况下甚至会导致整个应用程序重写,HTC、OMS正是处于这种情况之下,这就是Hero 2.2的ROM一再推迟,OMS甚至还在1.5版的原因。HTC和中国移动天真的以为自己大量修改了Android的UI就叫创新,就能赢得消费者。实际上,只要他们不把那些自作聪明的修改贡献给Android社区进入Android的代码主干,那么Android的升级之日,就是他们的痛苦之时。 就让我们看看,到底是Google改一个API容易,还是HTC/中国移动重写一次UI容易;Android到底是Goolge的,还是HTC/中国移动的。 4. 混乱分支 Android的开放带来了大量三方开发小组,每个小组都开发自己的ROM,都想打响自己的品牌,却都又不曾有计划把自己的修改贡献回社区。再加上水货手机必须要破解,整个Android社区三方ROM乱飞。 如下情节的对话在各大Android BBS屡见不鲜: 小白:为什么xxx功能不能使用。 高手:刷xxx ROM就可以解决这个问题。 当年Windows Mobile就是死在三方ROM之上,Android不过是在重复Windows Mobile的老路。Android一面强调用户体验,一面还需要用户掌握刷机的知识才能够正常使用,简直就是自己扇自己耳光。 那些三方 ROM根本没有经过严格的测试,不出问题反而不正常了,用户不会把这笔帐算在三方ROM小组上,怨恨自然累积在Android上。 5.
