Chinaunix首页 | 论坛 | 博客
  • 博客访问: 502613
  • 博文数量: 225
  • 博客积分: 2175
  • 博客等级: 大尉
  • 技术积分: 2443
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-05 22:02
个人简介

目前在一家公司担任软件总监,主要涉及智能手机,笔记本电脑的开发

文章分类

全部博文(225)

文章存档

2024年(6)

2023年(68)

2022年(13)

2021年(7)

2020年(11)

2019年(3)

2018年(10)

2017年(8)

2012年(7)

2011年(4)

2010年(32)

2009年(41)

2008年(6)

2007年(9)

分类: Android平台

2020-03-06 13:48:25

    对于移动设备,目前的OS基本上是Android和ios,其他的OS都比较悲催。
   对于OS,主要面临两个问题:
1)技术问题
    对于一个OS,主要包括内核(如Android的内核是开源的Linux),文件系统(如采取Linux,里面包括了很多的文件系统如 Ext4), GUI系统等,在Android还没诞生之前, 大家主要用Linux来做产品,但用Linux面临一个问题, 就是选择什么样的GUI? QT ?GTK?或者qtopia? Android 主要是基于Linux,做了一个Framework,使用虚拟机,这样大家可以使用Java,然后有AM, PM等管理好了进程,Activity等。
   如果我们要做一个全新的OS, 可以采取Linux内核, 那我们主要的工作是:
  a) 编译器
  b) 虚拟机
  c) Framework 
2)生态问题
   生态包括硬件生态和软件生态。
   硬件生态: 其实就是OS的载体,OS需要在一个设备上落地,比如华为的鸿蒙系统,本身华为有很多设备,就解决了硬件的生态问题。而当成阿里做阿里云OS的时候,苦于自己没有硬件,做的OS只能找其他家来落地。
  软件生态:软件生态比硬件生态更麻烦,第三方软件一般只做Android和ios版本,都不太愿意去投入资金,开发其他的版本,这也导致如Windows Phone等起不来。
    我想起来了以前做VR的时候, VR也是面临没有软件生态, 当时爱奇艺为了扩展生态,找其他游戏厂家,每家给个2,3百万,但用这种方法,生态是很难建立起来。


我们来看看其他的OS的命运, 一种是全新的OS,一种是安卓的变体。

全新的OS:

1 Windows Phone:  在2019年年底,微软已经停止windows Phone的安全更新了。微软对于Windows Phone也曾努力过:
a) 在Windows Phone 7失败后, 微软推出Windows Phone 8,采取补贴的方式来推广,但还是失败了。
b) 推出Windows 10,带来统一的微软应用商店,2015年4月微软提出了Universal Windows Platform(简称UWP)的概念,让开发者能更容易的将已经开发好的应用移植到Windows Phone上来,带着这样的美好愿景微软正式推出了Windows10和Windows10 Mobile。

WP最终死在生态上, 我曾经做过了WP8的机器,但最终出货60K给印度MicroMax,变成库存(而且坑爹的是没法刷机能Android设备卖,因为TP的丝印不一样,Android是左,右,Home,WindowsPhone不是这样的)。WP除了在美洲还能买点,其他的地方都卖不动。
 我曾经去参加一个培训, 培训的时候,培训方要求用微信签到,结果有一个小伙给我借手机,因为他是WindowsPhone,他手机上的微信没有签到功能,可见,即便是微软,腾讯也不愿意投入大人力在WindowsPhone上开发。

2 阿里云OS:
   阿里云OS现在基本上停止了,重组后的人员,全部加入到斑马网络(之前是和上汽合作, 目前阿里控股了,这样AliOS可以给其他的汽车厂商使用)。
   阿里云OS也是基于Linux的。
   它的发展阶段可以分为两个阶段:
 a)初期,阿里云OS就是直接在Android AOSP上修改,把ADB修改为ABD,修改了虚拟机,因为这个原因和Google一直纠缠不清,Google认为阿里侵权,要求其他品牌厂商都不要用阿里云OS。 
  b)后面阿里云OS重新重构了,跟Google完全不同的架构,用JS实现,但生态很难建立,在手机上没有什么机会了,当初阿里云OS采取的是对山寨手机补贴的方式,而如今山寨机完全不行了。于是阿里云OS转向车企,政企上突破,和上汽合资的斑马网络。
目前阿里云OS主要以小程序,微应用为载体,可以兼容Android。
 但是这里有一个问题, 小程序主要是中国搞出来的,最初是微信弄出来的,在国外,走不通。
 

3 TVOS
  TVOS是HTC 和上海联彤网络通讯技术有限公司一起开发的, 使用了1000多人,他是把Android的Framework去掉,修改成C++的方式, 也去掉了虚拟机,最终TVOS出来了, 但没生态。

4 鸿蒙
  鸿蒙 是华为推出的, 目前还只是应用在TV上,手机上还没有用,主要还是担心生态的问题,华为对于海外的新机型手机,有些不带GMS出售。但这样对其在海外的销售有很大的关系。 
目前华为推出HMS,来替代GMS。


安卓的变体:
1 FireOS
 Amazon采取的是基于Android AOSP上延伸出FireOS.主要用在Amazon 的Tablet上,它没有包括GMS和Google Pay。在手机上, Amazon也尝试过推Fire OS, 但失败了。

2 HMS 
 华为采取的策略是手机继续用安卓, 但由于中美关系的原因,不能使用GMS(用户私自安装也不可以)。因此华为自己开发出来HMS。

采用全新的OS, 投入太大,难度非常大。生态很难建立。
而采用Android的变体, 投入相对来说,比较小,但Fire OS对于Amazon的Kindle,主要是阅读器,生态相对好建立,在手机上也失败了。
对于HMS, 华为是被逼的。在手机上, 不使用GMS, 要建立自己的GMS,难度非常大。

我们来看看GMS 有哪些,为什么很难?
因为很多GMS中的应用,占据了统治地位, 比如Google Chrome, 搜索,很难超越。
No. APP 描述 地位 开发者是否会调用
1 Chrome 浏览器 统治 Y
2 Play Store Google应用市场 N
3 Maps Google地图 统治 Y
4 Youtube 视频 统治
5 Search 搜索 统治
6 Search / IME by Voice 语音搜索
7 Gmail Google 邮箱 统治
8 Google Cloud 统治 Y
9 Google  Pay 支付 统治 Y
10 Google 移动广告SDK 广告SDK Y
11 Fling SDK 浏览器SDK Y
12 GMS Service Framewoork Google 服务框架
13 Contact Sync 联系人同步
14 Calendar Sync 日历同步
15 Hangouts / Talk 即时通讯
16 Street View 街道地图
17 Google Play Games 游戏
18 Google Play Books 读书
19 Google Play Movies 电影
20 Google Play Magazines 杂志
21 Google Play Music 音乐
22 Camera / Gallery 相机/图库
23 FaceLock 人脸解锁
24 Google Voice 语音
25 Google TTS TTS
26 Earth 地球
27 News & Weather 新闻和天气
28 Blogger 博客
29 Translate Google 翻译 统治
30 Latin IME 拉丁输入法
31 Pinyin IME 拼音输入法
32 Korean IME 韩语输入法
33 Keep 云笔记
34 Currents 移动杂志阅读应用

由于全新的OS很难建立,因此对于厂家来说,要么被Google绑架,要么采取FireOS的方式。
1)需要通过GMS认证,就像小米,它没有宣称自己是做OS, 做的是MIUI, 还有华为的EMUI,Oppo的ColorOS也好,都是基于Android的, 都是Android系统, 连变体都说不上,他们需要过GMS认证。
  这种方式,投入比较大,新项目采取Android的新版本,老项目还要不停地升级。 
  对于没有License的企业, 可以找找第三方机构,比如Harmon/ 上海微测/上海晨测,对于企业版,可以申请AER。
  但2B的产品不像手机更新那么快,一个产品要买几年也不更新,这对很多2B的企业是一个挑战。要么也如手机一样, 不停地跟着Google的步伐,投入也不小;要么就要冒法律风险,不过GMS或者不升级。
  PS: GMS目前也只是针对手机, PAD,车载,电视, 电脑,手表,手持设备有相关认证,其他的设备都没有类似认证。

2)如FireOS的方式,拉出一条方式,不用跟着Google升级, 但不能用GMS了。 这条路对于小生态的产品,如TV,可行,但对于富生态的产品,如手机等,不可行,就算你如Amazon做出来了AMS,推广也非常难,第三方不买帐。

  所以,采取Android的系统的厂商,只能在Android基础上深入优化。

阅读(788) | 评论(0) | 转发(0) |
0

上一篇:测试的分类

下一篇:软件开发的全过程

给主人留下些什么吧!~~