符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
数据分析包含不同的角度分工:
创新互联基于分布式IDC数据中心构建的平台为众多户提供郑州服务器托管 四川大带宽租用 成都机柜租用 成都服务器租用。
第一类,侧重于网站分析的分析师,包括营销分析师、网站分析师、SEO分析师等。
第二类,侧重于业务分析师,包括运营分析师、数据分析师等。
第三类,侧重于技术走向的,例如数据挖掘工程师、数据科学家、数据工程师等。
从收入看,第一类最低,中间的次之,第三类最高。原因:
1.中国普遍技术取向,涉及到IT、编程、开发类的工资高;
2.业务价值认知,网站分析类或业务类分析师的辅助对象一般都是业务部门,这些人的能力和视野决定了分析的价值落地型,因此限制较高。
前端的行业状况
市场需求:目前前端的市场需求任然是火热的,如今在跨平台越来越流行的情况下,NativeApp的开发很多都被Flutter、RN、Weex这样的跨平台框架所取代,所以在未来不短的时间内,前端任然会是一个热门的行业。
语言热度:在Tiobe2019年发布的2份编程语言排行榜中,Javascript都是排在第六的位置,社区活跃度依然保持一个比较高的水平。
发展空间:前端在开发领域是一个迭代和发展非常快速的行业,且对于人才的全栈复合能力越来越高,全栈型人才在企业内往往是比较吃香的。
本文面向 Flutter 初学者,旨在用易懂的方式带大家入门。除了 Flutter 代码,还会介绍到语法、原理、特性等基础知识。相信本文能帮助你学习和理解 Flutter。
我们先看一下目前的一些跨平台方案,从前端渲染的角度来分类的话,大致可以分为以下几种方案。
WebView 渲染
这种方案就很好理解,现在很多项目都会嵌入 H5 的页面。就是用 JavaScript 等前端技术进行开发,在客户端上用 WebView 来进行渲染。微信小程序目前使用的就是这种方案。
它的优点很明显,使用成熟的前端技术进行开发,学习成本低,开发效率高,并且支持动态发布代码。
但缺点也很明显,在性能体验上,和原生还是存在较大差距的。
原生控件渲染
既然 WebView 的性能不够好,于是就有了使用原生控件进行渲染的方案。这种方案,同样也是使用 JavaScript 开发,区别是它最终是调用原生控件进行渲染的。这种方案的代表是 Facebook 的 React Native。
由于使用原生控件进行渲染,性能体验也会更接近原生。但也只是更接近,和原生还是有差距的,因为它需要频繁的进行 JavaScript 和原生之间的通信,这个通信效率是比较低的。
另外,由于需要适配各个平台的控件,那就有可能出现,系统控件更新了,而框架本身还没有更新,由此产生了一些问题。换句话说,这种方案是受到原生控件限制的。
绘图引擎渲染
接下来就是主角了。
在前端,如果完全不使用原生控件,我们可以通过系统的绘图 API 绘制出一个用户界面。从这个角度出发,可以在各个平台使用一个统一接口的绘图引擎来进行界面绘制,这个引擎最终调用的是系统的 API 绘制的。这样的话,它的性能可以做到接近原生,并且又不受原生控件的限制,在不同平台上能够做到 UI 统一。
Flutter 就是这样的一个开发框架。
一个跨平台 UI 解决方案
Flutter 是由 Google 开发的,一个跨平台 UI 解决方案。换句话说,它原则上只管 UI 的问题,如果涉及到平台本身的一些功能,比如调用蓝牙、摄像头,一般还是需要原生代码去操作。但现在也会有一些第三方库帮我们解决这些问题。
绘图引擎 Skia
Flutter 使用 Skia 作为它的绘图引擎。Skia 已经被 Google 收购,目前很多 Google 旗下的产品都是用 Skia 绘制的,包括 Android。
Android 内置了 Skia,但 iOS 没有,所以在打 iOS 安装包的时候,会把 Skia 一起打进去。这就导致了,用同一份 Flutter 代码打包之后,iOS 的包要比 Android 的包大一些。
开发语言 Dart
Flutter 使用的开发语言,叫 Dart。Dart 也是 Google 自家的,它是一门面向对象的语言,从它身上会看到一些其他开发语言的影子。学习起来难度不大的。
前面讲跨平台方案的时候,可以发现别的方案基本都是用 JavaScript 作为开发语言的,但为什么 Flutter 不用?就因为 Dart 是谷歌自家的吗?这个问题先留着,我们后面会提到。
这里部分就简单点带过了,具体的搭建流程可以在官网查看:
主要的搭建步骤如下:
下载 Flutter SDK
官网下载地址:
由于在国内访问可能受限,官方为中国开发者搭建了镜像:
更新环境变量
解压后,将 flutter\bin 的全路径添加到环境变量 PATH 中。
安装开发工具
理论上,任何文本编辑器都可以用来开发 Flutter 应用,但推荐的开发工具是 Android Studio、IntelliJ 以及 VS Code。因为在这些开发工具上,可以安装官方的 Flutter 和 Dart 插件,得到更好的开发体验。文章里使用 Android Studio 来演示。
如果你打算开发 iOS 应用,则还需要安装 Xcode。
安装插件
在开发工具的插件设置中,安装上面说到的 Flutter 和 Dart 插件。Flutter 插件用于支持 Flutter 的运行、调试、热重载等功能,而 Dart 插件则提供了代码的输入校验、代码补全等功能。
万物始于 Hello World,我们先来创建一个显示 Hello World 的 Flutter 项目。
在 Android Studio 的欢迎页面选择 Start a new Flutter project ,或者通过菜单栏的 File New New Flutter Project ,创建一个新的 Flutter 项目。
创建好的项目里面包含了 android 和 ios 两个文件夹,它们是标准的 Android 和 iOS 项目。我们的 Flutter 代码,存放在 lib 文件夹里。项目创建好后,会默认带一个计数器的示例,我们不管它,把 main.dart 的代码改成 Hello World:
启动一个模拟器,或者连上真机,点击 Run 运行一下,就能看这样一个界面了:
具体代码先混个眼熟就好,具体的后面会再讲到。
在写 Flutter 之前,还要先跟大家简单介绍一下 Dart 的语法。如果你有 Java 或 JavaScript 的开发经验,以及面向对象的编程思想,学起来是很快的。
我们可以在 test 文件夹下新建一个 dart 文件,用来写测试代码。
指定类型
var
但和 JavaScript 不同的是,以下代码在 JavaScript 是不会报错的,但在 Dart 里会报错:
Object
如果非要上面这样写,那也可以。把 var 换成 Object 就不报错了:
和 Java 类似,Object 是所有对象的根基类。但是这样的话,如果想打印一下 num 的字符串长度,是会报错的:
因为 length 是属于 String 的,但系统只知道 num 是一个对象,并不知道它是一个 String。
dynamic
如果还是非要这样写,那也可以。Dart 有一个特有的关键字 dynamic,把 Object 改成 dynamic 就不报错了:
我们运行一下这个文件,可以在控制台看到正确打印出了字符串长度。
函数
dynamic
在 Dart 里,函数也是可以不写返回类型的,不写的话会被当做 dynamic 来处理。这样的话,函数的类型就是 return 的类型,如果没有 return 则是 void 类型。比如可以这样:
运行之后是能正确打印出字符串长度的。
用于传参
Dart 里的函数也是一个对象,所以可以把函数作为参数来传递,比如:
可选参数
在 Dart 的函数传参里,有一个叫可选参数的概念,我们以文字控件 Text 为例,在源码里可以看到 Text 的构造函数是这样的:
首先,在参数里有一个 data,它是要显示的文字内容,是一个必填项。而 data 后面的一堆参数,是用一个大括号括起来的,这些参数就叫做可选参数,意思是这些参数可传可不传。
假如我们要显示一个比较长的文字,又想限制它最多显示两行,就可以这样来创建一个 Text:
可选参数,在 Flutter 里面用的非常多。
异步
Future
在 Dart 里使用 Future 来处理异步任务,比如我们现在延时一秒打印 666,代码如下:
Future 的语法和 Promise 非常像。任务执行成功会调用 then,执行失败会调用 catchError,而无论成功还是失败,都会调用 whenComplete。
async/await
如果你不喜欢上面那种写法,或者是想把异步转成同步,就可以用 async 和 await 这两个关键字来转换。
我们把上面的代码转换一下,写一个 getString 方法,返回的类型是 Future,它会延时返回一个字符串。在 main 函数后面加上 async 关键字,在 getString() 前面加上 await,代码如下:
运行之后可以看到,能正常延时一秒后,把字符串打印出来。这里 getString() 返回的类型是 Future,而 await getString() 则是返回了延时之后返回的字符串。await 要在 async 的函数里面才能使用。
async 和 await 其实是一个语法糖,它最终也是转换成 Future 调用链的形式执行的。
接下来回到 Flutter,Flutter 里最重要的一个概念是 Widget(下面翻译作控件)。
在原生开发里面,我们可能会在界面上区分,这是一个 View,这是一个 Layout,这是一个 View Controller。但在 Flutter 里面,它们全都属于一个统一的模型 Widget。可以说,在 Flutter 界面里,所有东西都是 Widget。
以前学面向对象的时候,我们都听过一句话,叫万物皆对象。我这里套用一下,在 Flutter 里, 万物皆控件 。
具体有哪些控件,我做了一下简单的分类。
根控件
所有的控件都属于 StatefulWidget 或 StatelessWidget 。它们的区别是,StatefulWidget 拥有状态 State ,而 StatelessWidget 没有。
StatefulWidget
当一个控件是可变的时候,就要使用 StatefulWidget 来构建。StatefulWidget 本身不可变,但它持有的状态 State 是可变的。
StatelessWidget
当一个控件状态是固定不可变的时候,就可以使用 StatelessWidget。前面我们写的 Hello World 就是使用 StatelessWidget。
容器控件
容器类控件一般是将某些属性或配置,作用在它的子控件上,比如控件所在的宽高、背景、位置等。
常用的容器控件有 Container、Center、Padding 等。
布局控件
布局控件可以类比作原生开发中的 Layout,通常它会拥有一个 children 的属性,用于接收一个控件数组,对这些控件进行特定的排版。
常用的布局控件有 Row、Column、Stack、Flex 等。
基础控件
基础控件就是常用的文字、按钮、图片等控件。
常用的基础控件有 Text、TextField、Button、Image 等。
功能控件
在 Flutter 里还有一类控件,它们不影响 UI 布局,但带有一些特定的功能,比如页面跳转、事件监听、定义主题等。我们把这一类控件称作功能控件。
常用的功能控件有 Navigator、NotificationListener、Theme 等。
开始写 Flutter 代码了。还记不记得,在 Flutter 项目创建之后,是自带一个计数器 demo 的,现在我们用自己的代码实现一遍。代码修改成如下:
运行之后,就可以看到这样的界面了:
按钮每点击一次,数字就会加一。下面我们来分析一下这段代码,看下里面用到的一些 Widget。
StatefulWidget
由于页面中的数字是跟随状态变化的,所以该页面改用 StatefulWidget。StatefulWidget 并不会直接返回一个 Widget,而是返回状态 State,在 State 里再返回 Widget。
Scaffold
Scaffold 是一个标准的 Material Design 页面,它包含了标题栏、浮动按钮、侧滑菜单、底部导航栏等配置。我们这里用到了标题栏 appBar、页面内容 body、浮动按钮 floatingActionButton。
AppBar
AppBar 就是标题栏,通过查看控件的构造方法,我们可以知道它可配置的属性。
AppBar 的可选参数除了标题 title,还可以配置标题前的内容 leading,右侧的操作按钮 anctions,控件垂直高度 elevation 等。我们只传了 title,其他属性都用默认值。
Center
Center 是一个容器类控件,它的作用就是让它的子控件居中显示。
FloatingActionButton
熟悉安卓开发的应该对这个控件比较熟悉,它就是页面右下角一个特定样式的 Button,参数里面的 onPressed 是一个必填项,要传一个点击之后的回调函数。
根据这个例子,下面给大家介绍一下 Flutter 两个比较重要的特性。
点击 Button 之后,我们把 num 变量加一,并使用 setState 通知状态发生了改变,Flutter 会根据新的状态更新 UI。如果有接触过小程序开发,setState 就和小程序的 setData 类似。
在 Flutter 里面我们不需要用 set 方法来更新 UI,可变控件是和状态绑定的,这就是 Flutter 的响应式 UI 编程。
在 Android Q 和 iOS 13 里都加入了暗黑模式,我们也换一个暗黑主题来玩一下。MaterialApp 里有一个 theme 的属性,我们把它配置一下:
这次改完之后不点 Run 了,我们点一下闪电图标 Flutter Hot Reload ,就能看到界面发生了变化:
这就是 Flutter 的 热重载 ,在修改完代码之后,通过热重载就能马上在设备上看到修改结果,可以很大程度上增加开发效率。
下面再给大家介绍几个 Flutter 里的常见操作。
在 Flutter 里,使用 Navigator 来管理页面跳转,比如要跳转到一个 NewPage 可以这样写:
进栈使用 push,出栈则是 pop。
使用 MaterialPageRoute 会模拟出 Android 上页面跳转的过场效果。
我们来看看怎么显示一张本地图片。
先在根目录新建一个存放图片的文件夹,比如叫 images,把图片 picture.png 放进去。
找到根目录下的 pubspec.yaml 文件,这个便是 Flutter 依赖配置文件,我们需要在这里配置一下刚才的图片:
这样,我们就能使用 Image 控件把这张图片显示出来了:
和 node 的 npm 以及 Android 的 jcenter 类似,Flutter 也拥有一个公共仓库 pub.dev。pub.dev 是 Google 官方的 Dart 仓库,在上面可以找到我们需要的包和插件。
Flutter 本身没有 Toast,我们来接入一个。在 pub.dev 上搜索后,我决定使用 fluttertoast:
按照说明,在 pubspec.yaml 文件里的 dependencies 下配置:
点一下 Android Studio 右上角的 Packages get 同步之后就可以使用了:
我们上面使用的都是 Material Design 的控件,它们都是在 flutter/material.dart 包里面的。如果要使用 iOS 风格的控件,则要用到 flutter/cupertino.dart 包:
iOS 风格的控件,基本都以 Cupertino 开头。我们把计时器页面里的控件替换一下:
效果如下:
代码的部分就到这里了,接下来跟大家聊一下编译方式,编程语言的编译方式有两种。
关于它们孰优孰劣,就要看从哪个角度去对比了。JIT 的话,它的一大特点就是支持动态发布代码,也就是支持热更新。但要是从性能的角度考虑,AOT 会更好,因为在运行的时候不用再进行编译的操作的,运行的效率会更高一些。
回到我们一开始的时候留下的问题,为什么别的跨平台方案都是用 JavaScript,而 Flutter 要用 Dart 来开发。JavaScript 的编译方式是 JIT 的,它不支持 AOT。而 Dart 同时支持 JIT 和 AOT。
Flutter 在开发阶段使用 JIT,让我们用上了热重载,增加了开发效率。在打包时改用 AOT,保证了正式版应用的性能。
最后讲一下大家比较关心的一个东西,Flutter 是否支持热更新?前面说到 Dart 支持 JIT,所以从技术层面它是支持的。但是目前是不支持的,在官方的计划文档中,可以看到:
至于原因,官方在这里进行了说明。总的来说,是由于政策的限制,以及出于对性能和安全性的考虑,暂时不支持了。
到这就结束啦。由于想把 Flutter 基础在一篇内讲完,没有涉及太多细节,如果要写 Flutter 代码还需要深入学习。但相信理解之后再学,会轻松很多。
飞翔fēi xiáng - 英文翻译 飞翔的中文解释以下结果由汉典提供词典解释 1.[hover]∶回旋而飞一群海鸥在轮船上空飞翔 2.[fly;flit]∶飞海燕叫喊着,飞翔着,像,像黑色的闪电,箭一般地穿过乌云云雀在薄薄的熹微中上下飞翔 1.飞行;盘旋地飞. 《尸子》卷下:“家鸭为鹜,不能飞翔.” 晋 干宝 《搜神记》卷九:“有鸟如山鹊,飞翔入市.” 魏巍 《东方》第四部第二四章:“最后途述到解放一段时,船只就像要在平地飞翔起来.” 2.犹腾达. 宋 陆游 《遣兴》诗:“要是世间男子事,不须台省竞飞翔.” 清 陈康祺 《郎潜纪闻》卷五:“果以科第为足贵,则 诰 ( 轩辕诰 )固已领袖南宫,飞翔词苑矣.” 3.宫殿名. 《三辅黄图·未央宫》:“ 武帝 时,后宫八区,有 昭阳 、 飞翔 ……等殿.” 翱翔áo xiáng - 英文翻译 翱翔的中文解释以下结果由汉典提供词典解释 [flutter;soar;hover over;take wing] 在空中(常指在高空)飞行或盘旋展翅翱翔于两三千米高空的雄鹰,一下子就能发现地面上宽广范围内的一只小兔或小鸡.——《眼睛与仿生学》 1.回旋飞翔. 《庄子·逍遥游》:“翱翔蓬蒿之间,此亦飞之至也.”《楚辞·离骚》:“凤凰翼其承旂兮,高翱翔之翼翼.” 唐 谷神子 《博异志·阴隐客》:“五色鸟大如鹤,翱翔乎树杪.” 明 徐霖 《绣襦记·厌习风尘》:“鸾和凤并翱翔,云霞灿灿夺目光.” 陈山 《旅顺口》诗:“春天来到了北地,桃花烧红了碧海,白鸥在上下翱翔.” 2.徘徊不进,停滞不前. 宋 苏轼 《答李琮书》:“今 韩存宝 等诸军,既不敢与 乞弟 战,但翱翔于近界百馀里间.” 清 昭连 《啸亭续录·百菊溪制府》:“其后官阶蹭蹬,翱翔科道者二十馀年.” 梁启超 《中国专制政治进化史论》第二章:“莽莽数千年,相持相低昂,徘徊焉,翱翔焉,直至最近世,然后为一大结束.” 3.犹遨游. 《诗·齐风·载驱》:“ 鲁 道有荡,齐 子翱翔.” 毛 传:“翱翔,犹彷徉也.”《汉书·司马相如传上》:“於是 楚王 乃弭节徘徊,翱翔容与.” 颜师古 注引 郭璞 曰:“翱翔容与,言自得也.” 南朝 梁 沉约 《齐太尉文宪王公墓铭》:“翱翔礼园,优游文馆.” 清 蒲松龄 《聊斋志异·海公子》:“彼寻胜翱翔,妾以艰於步履,故留此耳.”
我们也会担心,不知道会不会如预期看到更多中国开发者。今天早上还没正式开始的时候,我就看到有很多人在外面排队,等候进来。我深受鼓舞。”石博盟对新浪科技说到。
为了让开发者们深入体验谷歌产品与理念,此次大会在场馆二楼专门设计了体验区,从体验区的设计就能看到这次谷歌的重点:机器学习、ARCore、Android、移动网络、Firebase、Assistant、物联网、Flutter等。其中ARCore、TensorFlow、Android等已经是谷歌开发者大会的传统出境项目,Flutter、Wear OS、猜画小歌等则是今年非常有活力、谷歌着重介绍的产品。
Flutter Release Preview 2
在应用程序开发方面,谷歌推出了 Flutter Release Preview 2,它也是 1.0 正式版本之前最后一个预览版。Flutter 作为开发工具可在 iOS 和 Android 平台开发原生应用。据介绍,中国使用 Flutter 的开发者比世界上其他任何地区都更多,在 Flutter 的驱动下的应用程序包括腾讯NOW直播、京东、美团、闲鱼等等。
在 Flutter Release Preview 2 中,谷歌加大了对一致性开发的投入,重点关注 iOS 的性能和稳定性。并大量投入构建了 Cupertino Widgets,借助这个工具,开发者可以开发出满足 iOS 用户对外观和功能需求的应用程序。
Wear OS by Google
中国是 Wear OS by Google 的全球第二大市场,针对开发者和消费者的需求,Wear OS by Google 推出了全新功能,并重新设计了应用体验。
在通往人工智能的路上,Google一直在不停地买买买。而且Google在人工智能领域的收购其实从2006年就开始了。
DeepMind(2014年1月26日被Google收购)
Deepmind可以说是当下最火的人工智能初创公司,于2014年1月26日被Google收购。
虽然被谷歌收购,但是DeepMind一直是独立运营的,他们的目标是开发能够“独立思考”的软件。为了能够开发这种类型的人工智能软件,DeepMind在海量数据集合的帮助下使用机器学习等技术训练自己的人工智能去完成某些工作任务。
api.ai(2016年9月19日被Google收购)
api.ai的API可以透过语音辨识、意图辨识和上下文语境理解等技术,让电脑理解人类语言并转换为行动,协助开发者打造类似Siri的对话式智慧助理,可用于聊天机器人、App、智慧家电等。
api.ai已经证明他们可以协助开发者设计、开发和不断改进会话式界面。超过6万名开发者正使用API.ai的工具开发会话式体验。api.ai提供了业界领先的会话式用户界面平台,能够协助谷歌指导开发者持续开发优秀的自然语言界面。
Moodstocks(2016年7月6日被Google收购)
Moodstocks公司成立于2008年,作为一个小的创业公司,他们的规模并不大。
Moodstocks公司是以图像识别技术为主,并推出了智能手机的图像识别应用程序Moodstocks Notes。在加入谷歌在巴黎的研发团队之后,他们将继续研发自己的视觉图像识别工具。
Dark Blue Labs(2014年10月23日被Google收购)
Dark Blue Labs是一家深度学习公司,主要从事数据架构以及算法开发工作,被收购后并入DeepMind。
Jetpac(2014年8月17日被Google收购)
总部位于旧金山的Jetpac通过Instagram等社交图片分享工具制作城市导游服务。通过分析食品、装饰和人物图片,Jetpac的软件便可对城市的各种特点进行分析。
Jetpac被收购前有三款智能手机应用,包括一款城市导游助手、一款图片分析器和一款图片探测工具,被收购后并入Picasa中。
Emu(2014年8月6日被Google收购)
Emu是一个类似语音助手Siri但却是“通过文本消息服务的内置助手”。
它整合了类似Siri个人助理的功能,将会根据你的聊天记录,自动执行移动助理的任务。比如自动建立日程、设置时间提醒、甚至还能帮你预定餐馆。
Emu被Google收购后主要用于Google Hangouts以及Google Now中。
Flutter(2013年10月2日被Google收购)
Flutter2010年底由Navneet Dalal和Mehul Nariyawala创办,利用计算机视觉技术结合手势监测识别技术,使得用户可以用简单的手势来操控电脑和移动设备。
Flutter被Google收购后主要应用在Android以及Google X项目中。
Wavii(2013年4月23日被Google收购)
Wavii是一家成立于2009年3月的自然语言处理技术公司,总部位于西雅图。
Wavii主要做的是扫描网络、寻找新闻、然后进行总结,并附上文章来源的全文链接。
Wavii被Google收购后主要应用在Google Knowledge Graph(Google知识图谱)中。
DNNresearch(2013年3月12日被Google收购)
DNNresearch公司是由深度学习大神Geoffrey Hinton与他的两个研究生Alex Krizhevsky和Ilya Sutskever成立。由于谷歌在本次收购中没有获得任何实际的产品或服务,所以本次收购实际上属于人才性收购,收购的主体是为了这三人团队。
Viewdle(2012年10月1日被Google收购)
Viewdle是一家成立于2006年的乌克兰公司,被收购前主要做的是增强现实和面部识别。
Viewdle曾经推出的应用包括SocialCamera和Third Eye,Social Camera是其推出的首款应用,用户只需通过Faceprint教会你的相机识别好友,此后只要照片中出现了这些好友,SocialCamera就可以自动为他们打上标签。
Viewdle被Google收购后主要应用在Android中。
Clever Sense(2011年12月13日被Google收购)
Clever Sense是本地推荐应用Alfred的开发商。Alfred的独特之处在于它将人工智能和机器算法有机结合,为用户提供个性化的场所推荐,推荐的场所包括附近的餐馆、咖啡厅、酒吧和夜店。
Clever Sense被Google收购后主要应用在Android中。
PittPatt(2011年7月23日被Google收购)
PittPatt是一家由卡耐基梅隆大学孵化的专注于人脸识别和模式识别公司,其开发了一项能在照片、视频和其他媒介之中识别匹配人脸的技术,创造了一系列人脸检测、跟踪和识别的算法。
PittPatt的人脸检测和跟踪的软件开发工具包(SDK)能在照片中确定人脸的位置,在视频中跟踪人脸的移动情况。
PittPatt被Google收购后主要应用在Android中。
SayNow(2011年1月25日被Google收购)
SayNow是一家成立于2005年的语音识别公司,总部位于美国加州帕罗奥托(Palo Alto)市。
SayNow的平台可将语音通讯、一对一通话和集团通话整合到Facebook和Twitter等社交网站,以及Android和iPhone手机应用中。
SayNow被Google收购后主要应用在Google Voice中。
Phonetic Arts(2010年12月3日被Google收购)
Phonetic Arts公司是一家位于英国的语音合成技术厂商。被Google收购前Phonetic Arts公司的语音合成技术主要用在游戏中,但谷歌希望将该技术用于其电脑声音自动输出系统,以使机器合成的人声更像人类的声音以及更加流利。
Phonetic Arts被Google收购后主要应用在Google Voice和Google Translate中。
Metaweb(2010年7月16日被Google收购)
Metaweb是一家从事语义搜索(Semantic Search)技术开发的风险企业,目标是开发用于Web的语义数据存储的基础结构。
Metaweb被Google收购后主要应用在Google Search中。
Neven Vision(2006年8月15日被Google收购)
这个可以说是Google最早在人工智能领域的收购了,可以追溯到2006年。
Neven Vision是一家图像识别技术公司,其能自动从图片里提取信息、并且辨认图片的内容,被收购前主要应用于手机以及美国政府和执法部门的计量生物学应用中。
Neven Vision被Google收购后主要应用在Picasa以及Google Goggles中。