QQ登录

只需一步,快速开始

创客帮-青少年创客创意社区

快捷导航
开启左侧

写在阅读(使用、了解)APP Inventor前面的话

[复制链接]
老哈 发表于 2016-10-5 17:01:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
写在阅读(使用、了解)APP Inventor前面的话

        你正在一条熟悉的路上慢跑,突然被一个念头击中——下一款杀手级的移动应用。一路上你甚至不再关心时间,只想让你的想法立即变为现实。但究竟如何下手呢?你还不是一名程序员,要想成为程序员,也得需要几年的时间,而时间就是金钱,而且......甚至,有人可能已经把它做出来了。就这样,你的设想胎死腹中了。

        现在想象一个不同的世界,在那里,创建应用无需多年的编程经验,艺术家、科学家、人道主义者、卫生保健工作者、律师、消防员、马拉松运动员、足球教练,以及社会各界人士都可以自己创建应用。想象一下,在这个世界里,不必雇用程序员,就可以将想法转化为应用的原型;你可以创建自己专属的应用,利用移动计算技术来满足你个人的需求。

        这就是App Inventor的世界,谷歌公司的新型可视化编程工具,用于构建移动应用。事实证明,基于可视“块”语言的编程方法,即便是对孩子来说,也是成功的。App Inventor大大降低了为Android手机和设备开发应用的门槛。想象一下,视频游戏里的角色变成你和你的朋友;或者一款“买牛奶”的应用,当你在下午3点以后路过某个超市时,它会提醒你;或者一款测验应用,其实是一种别出心裁的求婚形式,发给你的另一半“问题4:你愿意嫁给我吗?如果愿意,按下按钮发送短信。”真的有人用这种App Inventor应用来求婚,而对方居然说是!

移动电话专用的块语言

        App Inventor是一个可视化,可拖拽的编程工具,用于在Android平台上构建移动应用。利用基于web的图形化的用户界面生成器,可以设计应用的用户界面(外观),然后像玩拼图玩具一样,将“块”语言拼在一起,来定义应用的行为。

        下图显示了一款应用的早期版本中使用的块语言,创作者Daniel Finnegan是一名从未学过编程的大学生。你能说出这个应用的功能吗?



        这是一款短信“应答机”应用。开车时启动它,就可以对收到的短信进行自动回复。

        可以看到,比起传统的程序代码,这些块语言更易于理解,因此你立即受到吸引,结合自己的实际经验,你可能会问:能不能把收到的短信大声读出来?我可以定制我的回复吗?我能否建一个应用,像“美国偶像”那样,让人们用短信来投票?以上所有问题的答案都是肯定的。我们将要告诉你怎样做到。

用App Inventor做什么?



        为手机写应用充满了乐趣,而App Inventor更增加了探索和发现的乐趣。只需在Web浏览器中打开App Inventor,连上手机,并像图0-1中那样把一些块拼在一起,立即就能在手机上看到你的应用,并与之交互了。于是你开始编程,你会发邮件给朋友们,让他们发短信来测试你的应用;或者用刚写好的应用来控制一个LEGO NXT机器人;再或者拔下手机,走到户外,去验证一下应用中是否正确地使用了位置传感器。

建立原型

        对应用有想法了,是吗?快速地创建一个原型,而不是随手记在餐巾纸上,或干脆让它随风飘散。原型是想法的模型,不够完整,也不够精致。用文字来表达一个想法,就像写一篇散文给朋友或爱人;而建一个App Inventor的原型,就像写首诗歌给风险投资人。这样一来,对于移动应用的开发来说,App Inventor就像一张电子餐巾纸。

构建个性化应用

        在当前的移动应用世界里,我们被迫接受那些推送过来的应用。你没抱怨过吗?我们期待个性化的应用,或者至少让我们能够调整它的功能。使用App Inventor,可以创建贴近自己需求的应用。例如,在后面的打地鼠游戏中,有一个随机移动的地鼠,每次触碰到它都可以得分,你可以把地鼠的形象替换成你喜欢的,比如你兄弟姐妹的照片,而不必在乎别人是否喜欢。

开发完整的应用

        App Inventor不只是一个原型系统或界面设计器,也可以用于创建各类完整的应用。它所使用的块语言提供了所有基础的编程指令,如循环及条件,只是以“块”的方式来呈现。

教学


        无论你是中学生还是大学生,App Inventor都是一个伟大的教学工具。它的伟大不仅仅是对计算机科学而言,对与数学、物理、创业以及几乎任何其他学科来说,它都是一个了不起的工具。重要的是在创造中学习,而不是死记公式,例如,你创建了一个寻找最近医院(或商场)的应用;又比如,用马丁•路德•金和马尔科姆•X的视频或演讲片段来创建一个多媒体测验应用,远比写一段黑人历史的文章来得生动。我们坚信App Inventor以及本书将成为你学习中贯穿始终的伟大工具。

为什么要用App Inventor
        很多人说App Inventor之所以易用,是因为它可视化的操作界面,以及可拖拽的块语言。但这究竟意味着什么呢?为什么App Inventor会易于使用?

无需记忆并输入指令

        对于新手来说,编程最大的挫折在于两点,一是要输入代码,二是面对计算机弹出的令人费解的错误消息。这种挫折让很多初学者来不及体会解决逻辑性问题的乐趣,就中途放弃了。

你有多种选择的可能性

        在App Inventor中,组件和块被分门别类地放在不同的抽屉中,触手可得。编程的过程,就是找到这些块,并把它们拖到程序中,来实现你预设的功能,无需记住那些指令或查阅手册。

限定块之间的匹配

        与那些挫败程序员的神秘的错误信息相比,App Inventor的块语言从一开始就排出了很多犯错的机会。例如,某功能块要求输入数字,就无法输入文字。这虽然不能消除所有的错误,但肯定是有帮助的。

直接处理事件


        使用传统编程语言时,程序的执行就像照着菜谱做菜一样,是顺序执行一系列的指令。但使用图形界面的应用,特别是移动应用,事件可能随时发生(例如,接收短信或电话),多数程序都不采用菜谱的形式,取而代之的是对事件的处理。事件处理程序的工作方式是:“当某事件发生时,程序要做这件事。”在传统的语言如Java中,你要了解类、对象,以及一种叫做侦听器的特殊对象,每个侦听器代表一个事件。在App Inventor中,用“when”块来表示事件,像“当用户点击按钮...”或“当收到短信时...”这样的事件。

你可以创建怎样的应用?

        用App Inventor可以创建各种不同类型的应用。发挥你的想象力,就可以创建出各种既有趣又实用的应用。

游戏

        人们往往从简单的应用开始,像“打地鼠”游戏,或在朋友脸上绘画的应用。随着不断进步,可以开始按照自己的想法做一些更复杂的游戏,如吃豆人与太空侵略者等。你甚至可以使用手机的传感器,通过倾斜手机让游戏中的角色移动。

教育软件

        App Inventor不仅限于制作简单的游戏,也可用于创建信息和教育类应用。“测验”应用可以帮助学生们在考试前更好地复习,“出题”应用,允许用户为自己出一份考卷(想想那些长途旅行的家长们会多么喜欢这个应用!)。

位置感知应用

        因为App Inventor提供了访问GPS位置传感器的功能,因此可以构建一个定位应用——知道自己在哪儿;也可以建一个停车应用,帮你记住停车位置;或者一个找人应用,在音乐会或大型会议时,显示你的朋友或同事的位置;或者一个定制的游览应用,为你所在学校、工作场所或博物馆预置游览路线。

高科技应用

        您可以创建以下应用:扫描条码、交谈、倾听(文字识别)、播放音乐、制作音乐、播放视频、检测手机的方向和加速度、拍照以及拨打电话。从技术上讲,智能手机就像一把瑞士军刀,并且谷歌的工程师们一直致力于让App Inventor的技术更易于掌握。

短信息应用

        “开车不发短信”只一个短信处理类应用的简单案例,还可以编写应用,定时向亲友们发送“想念你”一类的问候,或像“广播中心”那样的应用,帮助协调大型活动。需要这样的应用吗?让你的朋友用短信来投票,就像“美国偶像”节目那样。这些应用都可以用App Inventor来完成。

控制机器人的应用

        创建应用来充当LEGO机器人的控制器。把手机当做遥控器,或者为机器人编写一个“大脑”伴随它到处游走。机器人与手机之间依靠蓝牙通信,App Inventor的蓝牙组件也可以创建类似的应用,来控制其他的蓝牙设备。

复杂应用

        App Inventor大大降低了编程的门槛,几小时内就可以创建出很炫的高科技应用,但这门语言的功能并不简单,它同样提供了循环、条件以及其它程序及逻辑结构,来实现逻辑较为复杂的应用。在尝试创建应用的过程中,你会惊奇地发现这些逻辑问题是多么的有趣。

基于web的应用

        App Inventor也提供了应用与Web之间的通信手段。可以写一个应用从Twitter或RSS订阅上抓取数据,或者打开亚马逊书店的Web页面,通过扫描条码来查询一本书的线上价格。

什么人能够创建应用?

        App Inventor免费提供给任何人使用。它在线运行(不是桌面程序),可以在任何浏览器中访问。你甚至不需要手机:内置的Android模拟器可用于应用的测试。截至2011年1月,App Inventor已经拥有了几万个活跃用户以及几十万个应用。

        是谁创建了这些应用?他们是程序员吗?有些人是,但大多数人不是。其中最有说服力的例子是David Wolber教授的一门课程。在旧金山大学(USF),App Inventor是计算机科学通识课的一部分,主要针对商务和人文学院的学生。许多参加这门课的学生对数学是既恨又怕,而这门课恰恰满足了学生们惧怕数学的核心需求,绝大多数学生连做梦也没想到他们会编写计算机程序。

        尽管毫无经验可言,但学生们依然学会了App Inventor并成功地创建了伟大的应用。英语专业的学生首创了“开车不发短信”应用;两个通信专业的学生创建了“Android,我的车在哪儿?”;而一个国际研究专业的学生创建了“广播中心”应用。有一天晚上,在下班后,一个艺术专业的学生去敲Wolber教授办公室的门,询问怎么写一个while循环,此时此刻他意识到,App Inventor已经极大地改变了技术的格局。

        媒体也开始关注这一意义非凡的变化。《纽约时报》称App Inventor为“DIY应用创建软件”;《旧金山大学记事》撰文报到了USF学生们的工作:“Google让大正成为应用的生产者”。《无线》杂志描写了Daniel Finnegan——“开车不发短信”的作者,并写到“Finnegan的故事有力地说明:编程普及的时代正在来临。”

        如他们所说,这只猫已经跳出来。现在App Inventor已经在高中开课;在“挑战技术创新”的课后项目中(面向旧金山湾区的高中女生),在西雅图湖畔学校,以及几所大学的入门课上,都有App Inventor的一席之地。有数千名爱好者、商人、婚介人以及能工巧匠们正漫游在App Inventor的网站和论坛上(http://appinventor.googlelabs.com/forum/)。想要开始行动吗?不必拥有编程经验!

好心情
您需要登录后才可以回帖 登录 | 注册

本版积分规则

客服热线
400-1234-888 周一至周日:09:00 - 21:00
公司地址:襄阳市樊城区长虹路现代城5号楼188

创客帮MAKER.BAND青少年创客创意社区是一个融教育、科技、体育资讯为一体的综合服务平台,专注于教育创新、专注于科技体育、专注于教育资讯。

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表