tag 标签: 智能终端

相关帖子
相关博文
  • 热度 7
    2015-5-28 11:28
    444 次阅读|
    0 个评论
    我国传统彩电向智能电视转变可追溯至2010年。当时,各大电视机厂商便开始相继推出了智能电视产品。到2014年,智能电视市场迎来爆发,销量突破3000万台,市场渗透率接近70%。可以说,智能电视的发展在电视机领域掀起来了一个巨浪,势头锐不可当。 赛迪顾问 软件与信息服务业研究中心分析师 郑昊 但另一组数据显示,2014年底,北京地区每晚电视开机率已不足三成,而5年前的数据是75%。这无疑是智能电视实现进一步发展所面临的一大难题。近年来,随着pc、平板电脑、智能手机等的飞速发展,越来越多的人从电视机前“走开”,电视机已不再是人们闲暇生活的核心,如何把这些流失的用户群体“拉回来”是智能电视发展的关键。这就要求各生产厂商在不断完善智能电视的核心技术、突破硬件质量以及控制成本保持价格优势的基础上,将用户的“实际需求”作为发展的核心去寻求新的发展道路。对高新技术的探索绝不能与用户的需求相背离。同样的,电子信息各个领域也都是由人们的需求而引发的迅猛发展。若将这些为人们所偏爱的高新技术运用到智能电视中,那些流失的用户将很有可能被“拉回”电视机前。因此,智能电视在未来的发展中,当借势而行。 借势一:互联网——内容上的丰富 互联网无疑是抢夺传统电视机用户的最大竞争对手,对于早已不满足完全非交互式、且信息量极度受限的传统电视节目的人们而言,网络资源有绝对的吸引力。现有技术已经在逐步实现智能电视与互联网资源的对接,许多智能电视厂商通过与视频网站等一些网络运营商家的合作来为用户提供更丰富的资源。但是,与互联网所提供的海量资源相比,这一对接到目前为止是远远不够的。此外,相对于拥有大量APP应用的其他智能终端而言,智能电视的应用也显得极度匮乏。因此,智能电视厂商必须抓紧技术上的研发,完善与互联网的对接,同时大量开发智能电视的应用软件,真正的充实智能电视的“内容”,才能将客户不断的吸引回电视机前。 借势二:4G网络——更好的实现与其它智能终端的交互 2013年12月4日,工信部正式向中国移动、中国联通和中国电信三大移动通信运营商同时颁发了4G牌照,中国迎来了4G时代。随着网速的大幅提升,大量新的应用和信息服务纷纷涌现,4G网络所提供的高速数据传输服务已经为许多智能终端之间的交互提供了一条快速便捷的通道,它同样可以为智能电视所用,使其加入交互活动之中,实现用户在户外访问家庭资源的功能,方便快捷,且避免了资源的重复存储。这无疑会使用户体验得到大幅的提升,从而使智能电视的渗透力得到进一步的飞跃。 借势三:云端操作系统——降低智能电视的本地计算要求 继电脑和手机之后,智能电视成为争夺用户眼球的终端窗口,然而未来智能电视的竞争不单单局限于硬件终端,云端应用也将是决战点。云端提供的虚拟化运行环境,一方面能够满足用户通过智能电视实现电视、社交及办公一体化的需求,另一方面将软件与系统隔离开来,使得智能电视能够保持系统长久的干净、绿色,避免用户被系统运行缓慢等问题困扰。 智能电视的未来应实现自己的云端操作系统,这样做会降低智能电视对本地配置的要求,本地设备更多是一个输入和输出设备,计算、数据、应用都在云端,从而大幅度的降低硬件成本。当然,这样的架构离不开高速网络的支持。 借势四:大屏幕优势——吸引对视觉体验有更高要求的用户群体 屏幕大一直是电视机的绝对优势,在智能电视的发展中,完全可以把这个优势扩大化,以此来吸收那些对视觉体验有更高要求的用户,例如,喜欢看家庭影院的用户、电脑游戏玩家等,这些都是庞大的用户群体,若能投其所好,智能电视的发展必定会得到新的突破。因此,不妨在屏幕上下功夫,合理的加大尺寸、提高屏幕清晰度,为用户带来更高的视觉体验。 此外,便捷的遥控器操作模式、体感交互、语音交互、多屏互动、一机多屏、可定制化等功能的升级都是顺应客户需求的人性化发展要素,同样是不能忽视的。 总的来讲,智能电视的发展应基于互联网思维模式,依托“平台+内容+终端+应用”的生态体系,充分借助现有资源的优势,打造“内容+终端+数据+服务”的价值链闭环,这样才能找到正确的方向,事半功倍。 电视机作为人们传统的娱乐设备,除了具有诸多实用功能外,还能给人们带来家庭的感觉,使人们在工作一天之余能够享受回到家的温馨和宁静。这一点是其他任何智能终端都无法取代的。因此,即使不经常使用,电视机依然是大多数家庭必备的家用电器之一。由此可见,智能电视的市场空间还是很大的,它需要找到自己的节奏,基于自身的特性找到适合于自己的发展道路。 《电子技术设计》网站版权所有,谢绝转载
  • 热度 11
    2014-11-17 13:58
    441 次阅读|
    0 个评论
    中国厂商如何影响全球市场格局;下一个划时代产品已经初露端倪;群雄争霸移动支付但要安全先行;变革加速成长型企业再受关注;人机界面的5大创新技术。 中国厂商强势崛起 APP正在取代电视频道,移动互联对社会各个行业进行着重塑。正因如此,智能终端用户增长超过以往任何时候。当前全球智能手机用户仅占52亿手机用户的30%,还有很大的空间。据调研机构IDC预测,2014年中国智能手机市场的零售量将高达4.2亿部。 当然,中国市场不仅只是“规模最大”的代名词,以华为和联想为代表的中国终端制造商强势崛起,正在改写全球产业的格局。而今年更是中国手机市场结构性转变的关键一年,国产手机在中国手机市场的份额不断提高,同时不断向海外市场扩张。 华为已是全球第三大智能手机厂商,2014上半年同比增长62%,持续发力高端手机和海外市场;联想不仅是全球最大PC厂商,还是全球第三大平板厂商,以及中国市场最大的智能手机厂商;2014年第二季度,小米在的中国手机市场排名第一,明年将会进军非洲和印度等新兴市场。凭借Synaptics 在全球人机互动领域的领先地位,通过此次发布的“中国业务战略”,Synaptics将进一步与中国主流的OEM厂商加深合作,全面助力他们开拓全球市场。 下一个划时代产品 客观来看当前的手机市场,用户对粉丝经济和饥饿营销越来越理性,最看重的还是过硬和创新的产品。但市场却好久未见用户疯狂抢购一款手机的场景。无疑,手机产业面临颠覆性创新的挑战,市场正在焦急地等待下一个划时代产品,会是谁呢?会什么样? 换个角度,或许我们可以从苹果公司的Apple Pay和谷歌公司的Google Wallet看出些许端倪,这是两家巨头主推的移动支付业务,通过智能终端,生物识别身份验证,NFC近场通信实现实时在线支付。这让我们看到,智能终端的颠覆创新,或许不再是外观和性能,而将体现在业务模式所带来的体验,这意味着,人机互动的技术将成为智能终端颠覆性创新的关键。 所有电子产品都将融合到一部或两部移动设备中,这种趋势将继续。除特斯拉的出现,让我们看到除了手机,汽车或将成为第二重要的移动智能终端。因此,除了传统的三大业务市场分别是手机、平板电脑和笔记本电脑,Synaptics此次明确宣布将汽车作为第四大市场加以投入。当前,汽车制造商和科技企业的跨界合作越来越多,这将加速汽车智能化的进程。 Synaptics公司认为,不管是手机,还是智能汽车,未来它们都会更加自然地与我们的生物反应及处理过程同步,例如眼球转动、思维过程、动觉、文化偏好等。因此,人机互动在这方面有着最大可能性,因为这种迹象已经显现。 移动支付安全先行 过去3个月,苹果、三星、华为纷纷推出了各自最新高端智能手机,与以往不同的是,这次三家公司主打的卖点不再是轻薄和大屏,而是无一例外地选择了指纹识别和移动支付。这是全球智能手机领域最具代表的三家巨头,他们的选择自然也就代表着最新趋势。 的确,全球移动支付市场潜力巨大,全球知名研究机构Gartner表示,“到2017年移动支付用户将达4.5亿人,支付规模达7210亿美元”。这让产业链各方动心并付出行动,包括手机制造商,互联网公司,电信运营商,大型银行,信用卡公司,零售商户等等。 复杂产业链的背后,是相对简单的技术实现,即利用近场通讯(NFC)技术和指纹识别技术(Touch ID),让用户可以安全和轻松地实现支付。Synaptics通过收购全球生物指纹身份验证解决方案的领导者Validity,借机进入了这一蕴含重大发展机遇的市场最前沿。此外,Synaptics还与同是FIDO(线快速身份认证)联盟创始成员的Nok Nok Labs建立了战略合作关系,共同应对移动身份验证的全新挑战,帮助用户实现无缝的移动支付。Nok Nok Labs是现代身份验证技术创新企业,已经开发出符合FIDO认证标准的安全软件。 2年股票增长5倍 而对这个快速变革的时代,大型企业的转身往往非常吃力,而规模相对较小的企业却占尽优势,这或许也是近两年全球媒体特别关注成长型企业的原因。2013年,Synaptics被《福布斯》评为全美最有潜力的小型上市公司,而最近一年Synaptics的股票走向充分证实了这个评价的正确和精准。从下图可以看出, Synaptics股票从2002年的20美元左右,快速增长到今年6月的90美元左右。 Synaptics在股票市场的反应,证实了其战略收购的正确。今年6月,Synaptics宣布收购Renesas SP Drivers,后者是全球显示芯片的行业领导者,主要面向智能手机和平板电脑。此次收购意味着触控和显示两者将实现互补集成,这代表了行业趋势,此举能够帮助手机厂商实现性能和成本的兼顾。到2015年, 预计全球超过50%的终端采用触控和显示集成的解决方案,正因如此,Synaptics通过收购SP Drivers有望将潜在市场机遇提升1.5倍。 人机界面的5大创新技术 Natural ID:Synaptics的Natural ID技术能够满足生物识别感应的爆炸式需求增长,从移动支付交易、云服务到企业移动设备安全性,涵盖基于FIDO(线快速身份认证)的整个生态系统。 3D-Touch: Synaptics的这款专利手势技术已应用于三星2013款Galaxy S4。基于这个技术开发的AirView(浮窗预览),新增了多种用户界面操控方式,如“靠近”、“悬浮手势”和“空中划动”功能。 ClearPad 3350:全球首款全高清(HD)内嵌式触摸屏,采用Synaptics单芯片触摸控制器解决方案,可为Nexus 5用户带来首屈一指的灵敏度和10指多点触摸体验。 ClearPad单层外嵌式(SLOC):全球首款将触摸控制器和液晶显示屏同时融入一个超薄层叠的触摸屏设计,性能和成本兼得,已用于应用于中国市场的Yulong 8908智能手机。 触控笔:全球首款首款Windows 8.1认证触控笔,面向智能手机、平板电脑和笔记本电脑触摸屏,可提供随时可用的手写笔功能,无需使用多个分立系统元件。 可以预见,人脸、指纹、虹膜、掌纹、手形等全新的人机交互方技术,虽然目前还和在发展初期,相信未来他们将会笼络诸多终端用户的芳心,这意味立着他们将帮助智能终端厂商赢得全新市场。 《电子技术设计》网站版权所有,谢绝转载
  • 热度 8
    2013-6-8 16:33
    444 次阅读|
    0 个评论
    移动互联网云计算时代智能终端的测试培训 课程介绍: 通过 19 个主题循序渐进的向您移动互联网云计算时代智能终端的测试技术,从第一个应用程序的测试实例入手,涵盖移动应用程序测试开发的方方面面: 敏捷:全程深入实战敏捷开发 TDD; 敏捷:全程深入实战敏捷开发 BDD; 持续集成开发实战; 涵盖 Android 的四大核心组件 Activity 、 Service 、 ContentProvider 、 BroadCastReceiver 测试; 全面涵盖 Android 的所有测试技巧和策略; 彻底:涵盖 Android 中的 JUnit 测试的全部内容、源码剖析、设计模式; 深入性能测试和性能优化技术; 彻底研究自动化测试   中国电子标准协会 http://www.ways.org.cn 课程目标: 本课程涵盖Android中测试的一切技术; 打造顶级的Android测试专家 培训目标: 使得Android代码高品质、高价值、高利润; 培训对象:          对移动互联网测试感兴趣的朋友 Android开发者          对Android测试感兴趣的朋友     时间 內  容 备注 第一天 第1个主题:你为什么一定需要Android测试? Android开发太混乱了; Android的应用程序的代码质量太差了; 任何伟大的IT公司一定是至少是出色的测试公司; 用什么来拯救Android?唯有测试。   第2个主题:测试的商业价值 2.1比尔盖茨说:其实,微软是一个测试公司; 2.2 高质量、高价值、高利润;   第3个主题: 软件中的Bug和测试 3.1 Bug是怎么产生的? 3.2 Bug是如何致命性的影响软件项目的? 3.3 工程师的一生:与Bug作战的一生。 3.4 那什么拯救:唯有测试。   第4个主题:为什么、是什么、如何、何时测试 4.1 为什么需要测试; 4.2 测试什么;     Activity的生命周期事件     数据库和文件系统的操作     设备物理参数的测试 4.3 如何测试? 4.4 何时测试?   第5个主题:测试的类型 5.1 单元测试         测试的fixture         setUp()方法         tearDown()方法         测试的前置条件         测试方法本省 5.2集成化测试       实用性和接受度测试         测试用例场景 5.3性能测试 5.4系统测试   第6个主题:Android的测试框架 6.1 Instrumentation 6.2测试的targets   第7个主题:通过JUnit测试Android的业务代码 7.1 剖析JUnit; 7.2 剖析我们的第一个单元测试程序 ; 7.3 Android中的单元测试的框架JUnit编写时候的几点思考; 7.4 ANDROID中JUNIT测试的生命周期; 7.5测试数组、堆栈、文件系统 7.6如何测试private方法   第8个主题:通过JUnit进行自动化测试 8.1 测试套件TestSuite 8.2自动化测试实战     第9个主题:Junit的源码剖析和设计模式 9.1 以TestCase抽象类为核心剖析Junit源代码 9.2 以TestSuite类为核心剖析Junit源代码 9.3 Junit与模板方法模式 9.4 Junit与适配器模式  9.5 JUNIT与组合模式   第10个主题:体验纯粹的Android上的测试 10.1创建Android的main project 10.2创建Android的test project 10.3创建一个测试用例       创建测试用例       使用annotation的方式创建测试用例 10.4运行测试       在Eclipse中运行所有的测试       在Eclipse运行单个测试用例       从emulator上运行测试用例       在命令行下运行测试         运行所有的测试         运行单个的测试用例         通过name运行单个测试用例         通过category运行单个测试用例         运行性能测试         dry测试 10.5调试测试 10.6其它的一些命令行选项   时间 內  容 备注 第二天 第11个主题:深入Android测试,涵盖Activity、Service、ContentProvider的测试等 11.1Assertion       定制消息       静态导入 11.2 深入Assertion 11.3 TouchUtils类 11.4 Mock对象       MockContext概述       IsolatedContext类       对文件和数据库的测试操作       MockContentResolver类 11.5基类TestCase       没有参数的构造方法       传递参数的构造方法       setName()方法 11.6基类AndroidTestCase       assertActivityRequiresPermission()方法剖析和实战       assertReadingContentUriRequiresPermission()   方法剖析和实战       assertWritingContentUriRequiresPermission()   方法剖析和实战 11.7 Instrumentation       ActivityMonitor内部类剖析和实战 11.8 InstrumentationTestCase类       launchActivity和launchActivityWithIntent方   法       sendKeys和sendRepeatedKeys方法       runTestOnUiThread帮助方法 11.9 ActivityTestCase类       scrubClass方法 11.10 ActivityInstrumentationTestCase2类       构造方法       setUp方法       tearDown方法       testPreconditions方法 11.11 ProviderTestCase2类       构造方法       实战 11.12 ServiceTestCase       构造方法 11.13 TestSuiteBuilder.FailedToCreateTests类剖析 11.14 在测试工程中使用external libraries 第12个主题:TDD即测试驱动开发 12.1 理解TDD       编写一个测试用例       运行所有的测试       代码重构       重构的优势是什么?       理解需求 12.2 创建一个Temperature Converter工程       需求清单       使用面向接口的设计原则         创建工程 12.3 TemperatureConverterActivityTests工程(一)       创建fixture       测试的prediction       创建用户接口       测试已经存在的用户接口组件       获得已经定义的ID       把测试需求反映到测试中         空字段         查看属性       屏幕的布局 12.4 TemperatureConverterActivityTests工程(二)       气温转换       EditNumber类       TemperatureConverter测试用例       EditNumber测试       TemperatureChangeWatcher类       增加TemperatureConverter测试       InputFilter测试 12.5 运行TemperatureConverterActivityTests程序,查看效果     时间 內  容 备注 第三天 第13个主题: Android的测试环境 13.1 创建Android虚拟设备 13.2从命令行运行AVD       没有标题的模拟器       取消键盘监视功能       清理       终止模拟器 13.3额外的模拟器参数       模拟网络状况       额外的qumu选项 13.4运行monkey       monkey的客户端和服务端   13.5使用monkeyrunner运行测试脚本       获得测试的屏幕截图       记录和播放屏幕截图 第14个主题:BDD即行为驱动开发 14.1 BDD思考 14.2 FitNesse       从命令行运行FitNesse       TemperatureConverterTests创建subwiki         给subwiki创建子页面         增加可以接受的测试fixture         增加测试的支持类 14.3 GivWenZen       创建测试的场景 第15个主题:Android测试技巧 15.1 Android单元测试 15.2测试Activity和Application       Applications和preferences         RenamingMockContext类 TemperatureConverterApplicationTests类       测试Activity 15.2测试文件、数据库和ContentProvider       BrowserProvider测试 15.3测试exception 15.4测试本地和远程service 15.5 mock对象的进一步的应用       导入libraries       testTextChanged       Hamcrest介绍         Hamcrest匹配器         hasToString匹配器 15.6测试View 15.7测试parser        Android assets       parser activity       parser测试 15.8 Memory Leaks测试   时间 內  容 备注 第四天 第16个主题:持续的集成 16.1 使用Ant构建程序 16.2 使用快速的版本控制工具-Git       创建一个本地的git仓库 16.3使用Hudson持续集成       安装和配置Hudson       创建任务       获得Android测试的结果 第17个主题:性能测试和分析 17.1 使用传统的Log中的方法 17.2 Android SDK中的性能测试       启动性能测试         创建LaunchPerformanceBase          创建TemperatureConverterActivityLauchPerformance类       运行测试 18.3使用Traceview和dmtracedump工具 18.4 Microbenchmarks 第19个主题:自动化测试 19.1 自动化测试本质思考 19.2 自动化测试框架 19.3自动化测试案例实战                                 
  • 热度 12
    2013-5-30 19:55
    1841 次阅读|
    1 个评论
    大家先看下面这张图,这张图前段时间在网上流传,从图上可以一目了然,8年时间,电子产品尤其是以手机为代表的移动产品为我们的生活带来翻天覆地的变化,以前去听演讲、演唱会就是专心听,现在都忙着拍照发微博。   如同这张图片所呈现的,电子市场变化太快,有太多变数,而在各种挑战中蕴藏商机。来自IHS iSuppli的半导体市场首席分析师顾文军分享了他对2013年电子市场的看法。   一、手机、平板等无线市场   这几年最火暴的市场就数智能手机和平板市场,而且已经有太多的分析数据,在后PC时代,无线移动智能终端必定是主流。   今年智能手机市场全球的规模大概在3.6亿左右,乐观估计有望冲击4亿,未来几年拉动需求主要是新兴市场,如中国、中东、非洲以及拉丁美洲等地。平板去年全球出货1.5亿,今年在2.4亿台左右,中国白牌预估在8-9000万台左右,但顾文军认为很有可能突破9000万台。很明显,智能手机和平板依旧在未来几年对消费电子起火车头作用。       二、安防市场   除了移动终端市场的火热,国家对“和谐城市,安全城市”的推广,也将拉动安防市场的快速增长。 除了监控市场,其它细分的智能安全领域也将稳步增长。他特别强调代理商和分销商在这些细分领域中起到的作用,这些领域更需要分销商去帮助原厂了解和深挖,扩大市场影响力,实现自身价值。 今年很多厂商开始加大在高清、模拟转数字监控市场的投资力度,从国际电子商情网站上也可以了解很多这方面的消息,我们也做过一些专题,这里就不赘述。       三、医疗电子   这应该算是这几年除了智能手机以外,谈论最多的话题,移动便携医疗、与手机结合的医疗应用、康护设备以及大型医疗设备都非常火暴,每年的医博会都是人山人海,参展商都摆到过道里,参观场面跟挤地铁差不了多少。   2011年颁布政策将95%纳入医保范围,到2020年实现全民医保。人口老龄化、早期疾病预防、公共康护设施/保险、出口需求以及医疗改革都将刺激医疗市场的爆发。     中国与全球医疗市场规模的对比   可以看出,尽管这几年医疗市场增长迅速,但 市场规模不大,起步比较晚,同时也说明市场成长空间大,机会很多。     2009-2015年医疗电子市场营收增长比趋势   四、汽车电子市场   09年中国超越日本成为全球第二大汽车电子市场,明年可能超越美国成为第一大汽车电子市场。 尽管目前中国汽车电子厂商主要以后装为主,正在向前装市场迈进。顾文军认为汽车电子难的不是技术,而是可靠性和准入门槛。随着中国市场不断扩大,中国厂商的实力不断增强,门槛会逐渐降低,本土厂商应联合自主品牌车厂,打造完善汽车电子产业链。   2010-2016年汽车电子市场规模预测       按应用分类,2010-2016年中国汽车电子市场规模     五、智能电网     现正处于国网的三步走计划的第二阶段,上图为第二阶段市场规模。不仅仅是三表的需求,还有很多其它设施的需求,尤其到第三阶段,当然这个市场会有许多中国特色,中国本土厂商和代理商会获得更多机会。     六、众多市场机会     像今年比较热门的北斗市场,从交通部9省强制安装北斗系统,坚定了大家对北斗的投资,这类国家投资项目也会带来很多新机会。其它如MCU、Sensor、IGBT、MEMS等都会有很大需求。           机会多,当然,挑战也很明显:RMB升值,人工成本上升、通胀、出口需求疲软、库存积压...等等。厂商需要不断在红海中开辟蓝海,危机中发掘商机,需要不断通过技术创新、服务创新获得持续的增长动力,在2013年的庞大的电子市场分一杯羹。        
  • 热度 18
    2013-3-25 11:39
    8208 次阅读|
    11 个评论
    【越来越多人在使用Android,应用已经不仅仅是在智能终端和电视上,扩大到整个嵌入式系统,那么是否可以说传统的嵌入式Linux可以退出市场了呢,嵌入式系统老兵Bill给出了一个比较清晰的分析和结论】 原文序: 你选择那个绿色的机器人还是那只矮矮胖胖的企鹅?我们该如何抉择呢?不同的使用场景要求使用不同的开发方法,有时候可能需要其中一个操作系统,但有些应用程序却可能需要另一个操作系统或者两个操作系统都要用到。 如果你的下一个应用会部署在一个32位或64位处理器和TCP/IP网络的设备上,那么现在正是好机会,因为你已经考虑选择Linux或者Android作为你的嵌入式操作系统。将原有实时操作系统和嵌入式内核相比较,无论是Android还是Linux都是成熟的企业/桌面级操作系统。它们都能运行现成的中间件和打包应用程序,即便是在专门的嵌入式和移动应用环境中。然而,这两个开源的操作系统从软件堆栈的底层到顶层的开发、集成和托管方式都不一样,而这些都影响着如何以及在何处找到最好的部署方案。 本文将会整理出在选择小绿机器人或矮胖企鹅时要考虑的决定因素。特别地,本文关注的是为何在不同的使用场景下需要不同的开发方法,为何是使用这个操作系统而不是另一个,为何有些应用程序只需使用一个操作系统,而有时候却同时需要这两个操作系统。 接下来的内容部分代表了一个经典的“思想运动”,但实际上这个讨论源于一系列围绕以能源管理,IVI(汽车信息娱乐系统),网络和智能显示设备为前提的项目目标的对话和产品设计的辩论。   开放盒子还是封闭盒子? 绝大多数的原有嵌入式系统都是非常封闭的实体。即使选中的实时操作系统支持标准的API(典型的如POSIX线程和/或BSDlite 网络的子集),为那些嵌入式平台精心定制或托管在那些平台上的应用程序也还都是高度定制的。它们也仍然是唯一的在整个生命周期中运行在那些系统的软件。相比之下,那些部署在智能手机、平板电脑和其他越来越多的现代智能设备上的软件已经更像桌面**务器系统软件了。由于有了越来越多的现代设备,原始设备制造商、运营商和终端用户已经可以在设备的整个使用过程中安装新应用程序包了。固件和系统软件也已能在不依靠特殊的工作台软件或工厂式RMA(翻修)程序的情况下完成升级。 在创造一个智能手机操作系统时,Google将Android定位为一个开放的、现场可升级的应用程序平台,这个移动操作系统的核心思想是随时能够运行应用程序包。因此,为了创建,销售和部署打包应用程序,围绕着Android平台生态环境的优化首先是通过Google Play应用商店进行的。 嵌入式Linux系统也存在着和Android应用程序平台同样的情况,但从实践的角度来看,它更适合一次性部署在封闭盒应用中。确实如此,Linux上的编程存在着更多被认可的编程方法,比如C,C++,Java,Ruby,Python,Lua等等,但却不存在一个为构建、发布和安装应用程序的单一模型,也不存在一个跟Android一样的支持(如果不确定)互操作性的硬件抽象模型。相反,存在着多种特定的方法(如包管理,apt-get等方法)和工作在不同内核体系架构树(Kernel Tree)中的普通/最佳实践。 由于这些务实的原因,Linux有点更适合于封闭或半封闭的嵌入式应用程序。如果不需要广泛的互操作性,也不用考虑是否会破坏API和打包应用程序,原始设备制造商(OEM)就可以从约束中解脱;这还能让他们从为设备的硬件和软件需求专门做定制和适配Linux的工作中解脱。若当一个生态系统围绕单一设备演变(就好像发生在Raspberry Pi和Python上),Linux的例子总能打破封闭盒子策略,就好像使用了Dalvik虚拟机和亲睐于Java的Android一样。 有一点需要注意,不要把开放盒子和封闭盒子的问题与开源和不开源的问题混淆。Linux内核和GNU/Linux操作系统远比Android更开源。维护和升级Linux的社区是真正的精英管理的社区,它对各种来源的资源都开放。相比之下,Android是Google和它的顶级合作伙伴OHA可以发号施令和掌控平台发展路线图的私人俱乐部,它只接受了外界组织的最小输入。 你是想预算还是省点钱? 和开放/闭合盒子有关的问题是资源丰富与否的问题。有一个极端资源不足的例子是说只有一个网络接口的大块头的设备,而一个极端资源丰富的设计则需要一个显示器、键盘、定点设备或触摸屏,一个健壮的内存和存储器部件等。世界上最真实的设计则是介于这两者之间。 鉴于其智能手机的遗产,Android适用于拥有丰富接口的消费电子类应用程序。在盒子之外,Android协议栈支持手持和平板类型的配置,而且它正越来越多地被部署在DTV,机顶盒,IVI系统和其他用户界面密集型系统上。因此,没有多少令人信服的理由去说服人们在无外设的系统上使用Android系统。 相反,Linux能够支持的硬件配置和外围设备范围非常广泛而且丰富,它还可以根据需要被裁减为一个只拥有内存、存储器等的极度精简的系统。若没有几百MB甚至GB的DRAM或更多的Flash空间(对于操作系统和应用程序),是无法将Android部署在这样的系统之上的,但你可能只需要几十MB的存储空间就能部署一个简约型嵌入式Linux系统(天啊,我从未想到过我会认为Linux是那么的小!)。在为精简硬件配置挑选系统时,另一个不投票给Android的原因是Android是CPU/GPU密集型的系统。 所以,如果你的设计是想通过部署一个低端CPU,不使用GPU,并且最小化内存和存储器来达到降低成本的目的,那么Linux是一个更合适的选择。如果你有很多钱拿来“烧” -- 这些年,硅的价格只要几美元了,但显示器和输入硬件则很可能是需要几万美元的,那么这时候Android会更适合你。 本地显示还是自带设备(BYO)? 在上个月的RTC杂志上,我写了一篇为无外设系统挑选可用设备作为显示服务器的文章。在文中我强调了本地无外设系统设计是如何利用在附近或远程的基于浏览器显示设备的,包括智能手机、数字电视等。在Android和Linux中选择其一的前提下,需要一个本地的还是远程的显示器是另一个决定因素。若你的设备需要一个近距离的身体上接触的显示,那么拥有一个集成用户接口(UI)的Android是一个不错的选择。但如果用户主要是想在远处通过浏览器或专用的智能手机和平板电脑应用程序来与设备交互,那么你可以通过支持使用嵌入式Linux来托管Apache服务或几个小Web服务器**务器端的编程范例(PHP,Python,C等)达到省掉Android系统的开销的目的。 当然,你可以根据需要同时配置Android和Linux来支持本地显示、网络接口或移动应用程序。两个操作系统都支持丰富的用户接口,而且都很容易被部署为Web服务器。但现成的Android应用程序只能运行和显示在一个Android原生显示设备上,而使用GTK+或Qt创建的Linux原生应用则要求一个本地显示器或一个可用的远程X服务器。 选择Java或C/C++,还是LAMP? 一个半技术性的论点是Android或Linux是熟悉的编程语言和框架。如果你的团队已经在一些其他环境中创建了Java应用程序,那么你很可能会希望可以利用这个专业知识去创造其他设备上的应用程序(甚至是无外设的设备)。但如果你的开发人员更熟悉C/C++,Lua,GTK+和QT类似的UI框架及无数的其他编程范式,那么强烈建议你选择Linux和/或LAMP(Linux,Apache httpd,MySQL和PHP/Perl/Python)。 这个论点并非是很明确的,还要和在座的其他人一起讨论。你也可以使用Android/Linux本地编程接口来创建你的嵌入式应用程序,但你可能会打破Android应用程序的互操作性和封装,并且不再拥有一个开放盒子。还请记住,在选择某种语言和框架的同时往往还要考虑是本地显示还是远程显示。另外,也许更解放性的思想是当今开发人员通晓多种语言,这样无论在Android还是在Linux上使用Java,C++或Web编程语言都会感到同样舒适。 考虑许可证 一套非技术然而复杂的以许可体制为中心的选择标准围绕着Linux和Android以及写给这两个操作系统的应用程序和扩展展开。许多原生设备制造商之所以采用Android是因为这个移动操作系统的自由许可条款:实际上Apache 2.0对于Android中间件及其应用程序的组件只是在底层Linux级别的通用公共许可证(GNU GPL)部分对原生设备制造商有披露资料的要求。Android中的顶级Apache许可证总是注明“OEM friendly”,是因为设备制造商修改了Android堆栈的大部分,并使用了在Apache和任何其他OSS许可证(表1)下都不需要披露修改和分发他们自己的代码的硬件抽象层(HAL)来添加了外围设备接口。实际情况稍微有些复杂,这在Black Duck的文章“Android-Opportunity,Complexity and Abundance”中有论述。 表格1 各种Android和Linux堆栈层的许可 这不是一个反对Linux的例子—它只是很可能完美地在一台运行着Linux的设备上隔离和保护专有代码。然而,修改和添加到嵌入式Linux堆栈上的每一种类型都需要考虑它自己的实际情况(见表1)。特别地,一些原生设备制造商不喜欢直接在任何GNU许可证(GPLv2/v3,LGPL等)下工作,这就导致他们选择了Android,而非Linux。当然,他们仍然需要部署Linux内核,但运行其上的Android库和中间件仅仅将它作为一个“缓冲器”。通常做到这样就可以感到很舒适了。 在这里,我们的目的只是为各种类型的智能设备提供选择Android或Linux的一般指导方法。对于垂直应用程序(手机、医学设备、运输工具等)而言,这种分类本身并不想列出所有的方法,而是想提供开发范例依赖的选择标准,或者提供考虑设备市场和部署生命周期的途径。 表2总结了本文表述的论点。它强调了选择不是绝对的:由于Android包含了一个Linux内核实例,Android系统理论上可以托管和运行和Linux一样的软件。Linux同样因为能托管和运行Java,以及一系列的用户接口(UI)框架,它也能被部署在有本地显示器的设备中,即使在和Android有密切关系的手机、平板电脑和其他设备上。 表2 总结了Android和Linux特点的论点 所以,去使用Android或Linux或同时使用这两个操作系统吧。但需要先考虑以下问题: 在你的设备的整个寿命中,系统软件和应用程序是如何部署的? 你想将你的预算中的大部分花在哪些地方上? 设备主要有哪些用户交互模式? 你的开发人员有哪些编程嗜好? 你选择的平台和许可证对你公司的知识产权(IP)组合有怎么样的影响? 上述最后一个问题绝不是最不需要考虑的内容。然而,深度探讨IP和许可证已经超出了本文的范围了。要了解更多的信息,请搜索我们黑鸭子(Black Duck)公司的产品:为遵守Android规则和管理开发的Android Fast Start程序包和为更大范围的开源软件开发的Black Duck套件。Black Duck 柏林顿,马萨诸塞州 (781) 891-5100 www.blackducksoftware.com 作者:BILL WEINBERG  OLLIANCE 咨询 黑鸭子公司 Linux or Android: Which Is Right for Your Next Design? 翻译: 张浩中 北京航空航天大学软件学院  审校:何小庆
相关资源
广告