整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

10年前一个程序员想写个网站

篇:10年前的程序员,走过的成长之路

Qt 塞班应用开发

上回说到在国企离职了。但其实还有很多事情没说完,先继续国企这两年的编程经历吧。

那段时间,我用了一段时间诺基亚的N81:

诺基亚N81

上点岁数的程序员可能知道,这款手机的操作系统是当时最受欢迎的第一代智能操作系统:诺基亚的Symbian塞班。时过境迁,这个名字现在也已经不是个操作系统了,好像有个泰国人一直在找他:

塞班操作系统

这是我接触到的第一款开放手机操作系统(之前的摩托罗拉只是开放了Java应用,非常可怜),程序员可以在上面自己写应用。开发语言依然是C++,这次用的不是VC++6.0了,而是Qt Creator。提到Qt估计现在依然有很多人还知道它。正是诺基亚自己研发的一款跨平台C++开发工具包。而现在大家对他的认识也许都是以PyQt的形式存在的吧。。。

这是Qt Creator后来的样子

由于对C++比较熟悉,直接很快就可以上手,但细节还是很难一下掌握的。心血来潮想做一个能给室友同事炫耀的小应用,而且当时疯狂迷下五子棋,于是决定就做个五子棋!

用了将近一个月的时间,经常通宵写代码到第二天上班之前,开发了一个自己很满意的五子棋对战版,可以蓝牙跟室友联机用诺基亚下五子棋。

关于Qt这段,立个Flag,单独介绍一下它吧,这十多年也算是跟它有着不解之缘。

第一次接触web

这是一段蠢得要命的经历。在国企的一个项目中,有一台电脑连了一个设备,领导想看它的运行状况。

这个设备有一根网线能连接到PC上,可以烧进去C语言程序去监听网卡端口。于是我的第一版设计方案出来了。用C#在PC端UDP询问设备,在设备上收集数据后用C语言监听回复给PC端。运行结果就是这样的,每秒钟刷屏一次:

设备管理系统

不要笑,这就是我理解的管理系统。参考《学籍管理系统》《图书馆管理系统》。。。懂的都懂。

我当然不会满足于此。凭借扎实的基本功,我判断:既然设备能使用网线,能使用TCP和UDP协议,那它就能支持HTTP!但我对之后的事情一无所知。不过当时我的组长开发过一个非常厉害的工具,就是一个socket代理工具,一端收消息另一端直接转发出去。大概类似这样:

网络图,原软件已经找不到了,找到也带不出来

这让我有了灵感:我直接把浏览器连到这个软件的tcp端口上,再代理到设备上,于是我就可以观察到浏览器的行为!

这样一搞不要紧,我看到了天书:

GET / HTTP/1.1
Host    10.10.10.10
User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept    image/webp,image/*,*/*;q=0.8
Accept-Encoding    gzip, deflate, sdch
Accept-Language    zh-CN,zh;q=0.8

我的C语言程序的socket居然真的就收到了这样一个字符串??

原来脑海中之前很抽象的所谓“HTTP通信协议”,居然就是在TCP socket上直接发送了一串带有格式的字符串!这下我完全懂了!

于是第二个方案产生了:

我在设备端监听80端口,用c语言socket收到浏览器发来的HTTP协议字符串之后,把它们解析出我需要的内容,然后把设备的状态拼成一个HTML网页的样子,再在外面套上HTTP协议应答的格式,生成一个更长的字符串,然后TCP socket再发回给浏览器。

char str1[] = "HTTP/1.1 200 OK\
Date: Fri, 22 May 2009 06:07:21 GMT\
Content-Type: text/html; charset=UTF-8\
\
";
char *str2 = strcat(str1, "<html>\
      <head></head>\
      <body>\
            <li> 主机状态 正常</li>\
            <li> 8000端口 正常</li>\
            <li> 接收字节数 2000</li>\
            <li> 发送字节数 5000</li>\
      </body>\
</html>\
";
// 太蠢了原谅我实在无法完全复刻当年的代码

就这样一个程序,我大概花了整整三天时间在设备间调试。其实我完全没有自信在理论上证明这个方案可行:浏览器不是看网站的吗,真的能用来浏览我的C程序?当我第一次看到浏览器上真的显示出一个网页时,简直兴奋到爆!

设备管理系统2.0

为了让多个浏览器同时访问这个网页,我甚至还把它用epoll改写了一遍。。。

当天晚上,我跟同样学计算机的高中同学视频聊天,给他讲了我的重大发现:我已经学会了开发网站了!!

然后的故事可能你们能够猜到:我同学给我介绍了有一种叫PHP的东西。并且他给我一句评语:你可真牛逼,C语言字符串拼接手写http server。。。而我一开始居然以为这真的是在夸我。。。

原来不用自己拼HTTP协议?

“我说呢,写这么个网页我大概搞了小1000行代码,一大半都是在给HTTP协议拼字符串,这要是写个网站不得几十万行代码啊?”

后来的故事

这个同学给我打开了web开发的一扇大门。后来我们直接一起去创业写网站了。当然,用的并不是php,后面的文章我再详细讲创业写代码的故事吧。

但“设备管理系统”的经历,让我对“协议”终于有了直观的认识:所谓的协议,就是字符串的格式罢了。而在此之前,我一直以为这只是一个类比,协议应该是看不见摸不到的玄学的东西。

现在回忆起来,我一直认为,在编程这件事情上,我的天赋真的是非常差。上面的事情可能很多人都会当笑话来看吧。但这些事情的确对我产生了非常深远的影响。

总结

所以这里想对能看到我文章的萌新们说句话:这么笨的人是可以成为技术负责人的。

关注我不要只看故事!

当然我会一直把我的沙雕技术成长之路的故事讲下去。但我还会有一个系列,把真正影响我成长的一些原则、方法论总结出来给大家看的。

如果你是入行不久的萌新程序员,请一定要关注我故事系列之外的专题文章。我不会讲任何具体框架、语言细节、技巧的。但每一篇都是我认为非常重要的一些启发和实践经验,一定不要错过~


前篇:10年前的程序员,走过的成长之路


我是@写代码的莎白先生

什么代码都写,还喜欢带萌新入门

欢迎关注,欢迎提问!

到泡海岛,记忆还停留在去年8月的巴厘岛蜜月行,充满了回味。今年本来没有泡海岛计划,是临时决定的,因为提前一个月偶然看到端午节价格实在是便宜,于是决定去,并立刻定了酒店、机票、活动等,因为塞班岛非常小,自驾环岛不过2-3小时,比之前去的普吉岛小3倍,比巴厘岛小30倍...

而且只有几天的时间,因此,也没必要做太多功课...索性,这次来一次近乎“说走就走”的旅行吧,放松心情,期待即将到来的海岛行。

另外几篇游记欢迎围观=^_^=:

《巴厘岛+香港12天11晚蜜月自由行》http://www.mafengwo.cn/i/3234364.html

《普吉岛+吉隆坡8天6晚自由行》http://www.mafengwo.cn/i/2849994.html

《云南6天5晚玉龙雪山、双廊游》http://www.mafengwo.cn/i/3388428.html

《夜爬泰山+露营小憩看云海 2日自由行》http://www.mafengwo.cn/i/1294745.html

塞班岛的海水是我见过最蓝的海,这种纯纯的深蓝色,真的可以让人看醉,看得兴奋,而且海水很少会有浪花,十分平静,而且清透,与鱼儿一起在水中悠闲游着,非常惬意。

在两年前就想来塞班岛了,那时是在普吉岛,听一位中国游客阿姨提到了塞班岛,说这里的海水很清透,很美,于是乎,充满了对塞班岛的幻想,但查过价格后,大失所望,仅仅是机票的往返费用,每人近乎上万,而且没有直飞,作为美国领域,当地消费水平也可想而知。

两年后的今天,在端午前一个多月,一次偶然的机会在途牛网看到塞班岛半自由行在4500元,惊喜万分,机酒全含、还包括两天环岛、军舰岛活动、保险、接送机,一顿酒店午餐自助,一顿团餐,便宜不说,而且还是小长假期间!(看似有点广告口吻哈,但其实不是滴~)。而且在整个行程,途牛都没有过多干扰我们的行程,完全出自自愿。

最让我动心的是,不但便宜,而且还是东航直飞(但是红眼航班,但我看大部分飞塞班基本都是这样,忍了...),这对于大部分自由行需要转机韩国仁川机场来说,非常方便,从北京到塞班行程达到只需5个小时。大大节省旅行路途时间!节省假期天数!(今年去的比较多,假期非常不够用

但仔细对比后发现再加上1550元税费(包含机场税90元,塞班岛机场税150元,美国税160元,以及燃油附加费1150元),也得6k每人,当时还没想好,但再又犹豫了两周,最终还是决定去了,于是买了!但这时,费用已经又涨了400元。最后以每人7025元价格敲定!对于工薪阶层,价格还是很贵的,因为后面还会再花一些娱乐、吃饭等费用

还要说明的一点:途牛在整个行程中,还是充当国内代理,在塞班岛,其实找的旅社为世纪旅游http://www.centurytours.cn/,我觉得从他家直接定,可能会更便宜一些。而且大旅社,安全、保险都有保证。他家娱乐活动、吃饭都很全,之前不知道,在去之前国内胡乱定一气,有的没定上,有的不理想,有的价格还定贵了,起码从这里可以知道一些报价作为后续预定参考。

99%的人在看的旅游攻略,关注蚂蜂窝微信:mafengwo2006

底全球智能移动终端操作系统之前世今生,重温70后/80后/90后曾经欢乐无比的玩机岁月,尽在【遖唻苝暀】原创文章《智能手机操作系统总动员》。

移动电话/手机前传

一张图手机诞生史,向前辈发明家致敬。

Palm OS (智能移动终端PDA操作系统)

001. Palm OS (智能手机操作系统开山鼻祖)

Palm OS系统经典机型:Palm LifeDrive

Palm OS是Palm公司开发的一种32 bit的嵌入式PDA操作系统,广泛应用于各类移动终端设备(包括PDA和手机),曾占据90%智能移动终端设备市场份额。生命周期:1996-2008 最终版本:Palm OS 5.2

Web OS (智能手机操作系统)

002. Web OS (Palm团队的续作,介于应用程序与操作系统之间的嵌入式操作系统)

Web OS系统经典机型:Palm pre3(又名Hp pre3)

Web OS是一个嵌入式操作系统,第一款搭载Web OS系统的智能手机是Palm Pre,它于2009年06月06日发售。由于当时的Palm已被HP收购,Web OS遂收归HP旗下。2011年08月19日凌晨,在惠普集团第三季度财报会议上,宣布正式放弃围绕TouchPad平板电脑和Web OS手机的所有运营。生命周期:2009-2011 最终版本:Web OS 3.0

很怪异的手机系统名称:Danger OS

003. Danger OS (Android的哥哥,因为安卓之父AndyRubin也是DangerOS创始人)

DangerOS系统经典机型:T-Mobile Sidekick LX 2009

Danger OS是基于Java开发的一款手机操作系统,对于国内的消费者来说,Danger OS是一款相当陌生的系统,但是它曾经在欧美市场风靡一时,因为大部分欧美明星都喜欢搭载这一操作系统的T-Mobile Sidekick手机,QWERTY全键盘和强大信息处理功能让它的人气居高不下。有趣的是,Android之父AndyRubin也是DangerOS的创始人,这两款系统先后被微软和谷歌收购。Danger OS生命周期:2002-2010 最终版本:Danger OS 4.0

Symbian OS (塞班智能操作系统)

004. Symbian OS (塞班智能操作系统)

Symbian OS谢幕之作:NOKIA 808 PureView

塞班系统(Symbian系统)的前身是英国宝意昂公司 (Psion) 的 EP ( Electronic Piece of cheese)操作系统。2008年12月02日,塞班公司被诺基亚收购。2011年12月21日,诺基亚官方宣布放弃塞班(Symbian)品牌。2012年05月27日,诺基亚彻底放弃开发塞班系统,但是相关服务将一直持续到2016年。2013年01月24日晚间,诺基亚宣布,今后将不再发布塞班系统的手机,意味着塞班这个智能手机操作系统,在长达14年的历史之后,终于迎来了谢幕。2014年1月1日,诺基亚正式停止了Nokia Store应用商店内对塞班应用的更新,也禁止开发人员发布新应用。生命周期:2000-2012 最终版本:Symbian9.0

Blackberry OS (黑莓手机操作系统)

005. Blackberry OS (黑莓手机操作系统)

最后一款纯血黑莓机型(BB10系统):BlackBerry KEYone

BlackBerry OS是Research In Motion专用操作系统,是Research In Motion为其智能手机产品BlackBerry开发的专用操作系统。该系统具有多任务处理能力,并支持特定输入装置,如滚轮、轨迹球、触摸板及触摸屏等。黑莓公司是加拿大的一家通信公司,主要产品为手提通讯设备黑莓手机。黑莓手机(BlackBerry)是加拿大BlackBerry公司的一家手提无线通信设备品牌,于1999年创立。生命周期:1999-2019 最终版本:BlackBerry OS 10

Maemo OS (仅适用于诺基亚)

006. Maemo OS (仅适用于诺基亚)

Maemo系统经典机型:Nokia N900

Maemo是诺基亚旗下的顶级操作系统品牌,用以弥补Symbian OS的某些先天不足。Maemo主要是服务于不具备传统移动电话功能的网络终端,以及Nokia N900这样的高端智能手机。由于其Linux内核的特性,将很容易被移植到笔记本电脑等安装更多应用的设备上。Nokia在2010年02月宣布将Maemo与Intel的Moblin项目结合,推出MeeGo. 生命周期:2008至2012年

MeeGo OS (米狗智能手机操作系统)

007. MeeGo OS (米狗智能手机操作系统)

MeeGo OS经典机型:NOKIA N9

MeeGo是英特尔和诺基亚合作推出的一个操作系统,在2010年巴塞罗纳举办的世界移动通信大会上首次发布,该项目整合英特尔的Moblin和诺基亚的Maemo两个系统,可以工作在更广泛的设备上(手机、电脑、笔记本电脑、上网本、平板电脑、智能电视、PTV机顶盒等)。在2011年的OS混战中,诺基亚和微软联姻,Lumia出生了,MeeGo和N9就这样被无情地抛弃。生命周期:2010至2012年 最终版本:MeeGo1.2(MeeGo Harmattan)

Sailfish OS(旗鱼智能手机操作系统)

008. Sailfish OS (旗鱼系统)

Sailfish OS旗鱼系统经典型号:Oysters SF(俄罗斯市场)

旗鱼系统是芬兰Jolla公司(jolla mobile公司/卓蓝移动)基于MeeGo操作系统开发。Jolla手机搭载的系统是开源的旗鱼系统Sailfish OS,该系统可以运行大部分安卓的应用程序。2016年Sailfish OS成为俄罗斯政府替代Android计划的首选系统。2017年3月,Jolla公司宣布与索尼移动公司达成合作,支持索尼的开放设备项目,Sailfish旗鱼系统将官方适配索尼Xperia众多设备。生命周期:2013-2020 最终版本:Sailfish OS 3

BADA OS (三星巴达系统)

009. BADA OS (三星巴达系统)

BADA OS (巴达系统) 经典机型:SAMSUNG S8600 (waveIII)

BADA OS是韩国三星公司自行开发的智能手机操作系统,支持各种丰富功能和用户体验的应用程序,于2009年11月10日公开发布。它的特点是配置灵活、用户交互性好、面向服务,非常重视SNS集成和地理位置服务应用。 bada系统由操作系统核心层、设备层、服务层和框架层组成。支持设备应用、服务应用和Web与Flash应用。生命周期:2009-2012 最终版本:Bada OS 2.0

Firefox OS (火狐移动操作系统)

010. Firefox OS (火狐移动操作系统)

Firefox OS(火狐系统)代表机型:ZTE Open C

Firefox OS(火狐移动操作系统)是由Mozilla公司开发的开源移动操作系统,采用Linux内核以及基于Gecko的运行环境,它为用户提供完全基于HTML/JavaScript技术以及其他开放Web应用接口的应用程序。2016年09月28日,Mozilla正式宣布终止所有Firefox OS相关工作。生命周期:2011-2016 最终版本:Firefox OS 2.6

BlackBerry 10 OS(黑莓BB10操作系统)

011. BlackBerry 10 OS (黑莓BB10智能移动操作系统)

首批搭载"BB10系统"黑莓手机Z10和Q10

BlackBerry 10 OS更像是BlackBerry OS的迭代版,是RIM公司(Research In Motion,黑莓公司曾用名)基于QNX内核所研发的智能移动终端操作系统,原被称为BBX(BlackBerry X),早在2011年3月就已公开发表。但是由于BBX的商标权属于另一家公司BASIS International所有,所以只能改称为BlackBerry 10。 BlackBerry 10中将整合Twitter及Google Talk,这两款应用都能被整合入BB Hub,也就是全新的统一收件箱中,给用户以更加方便流畅的感觉。2013年01月30日北京时间23:00,RIM在纽约召开全球发布会,正式发布黑莓10操作系统,并在发布会上推出了首批搭载BlackBerry 10 OS的两款黑莓手机Q10和Z10,与此同时RIM与BlackBerry品牌实现合并,从此世界上没有了RIM公司,只有黑莓公司。生命周期:2013-2019 最终版本:BlackBerry OS 10.3

Ubuntu Phone OS (乌班图智能手机操作系统)

012. Ubuntu Phone OS (乌班图智能手机操作系统)

首批搭载Ubuntu Phone OS的Aquarius E5,由西班牙智能手机制造商BQ生产

Ubuntu(乌班图)曾是Linux阵营特别先遣队金牌队员,是一个比Android(或者iOS)起步更早的开源智能操作系统。但当Ubuntu试图推出一个手机操作系统的时候(想通了?),却发现和它一样基于Linux的Android操作系统,已经占据了市场绝大部分份额。而且更糟糕的是,无论是硬件设备厂商还是软件开发者,都已经习惯了以Android系统技术作为参照来推出新品。(起了个大早,赶了个晚集)。Ubuntu Phone OS曾于2013年底推出,作为Ubuntu的开源手机操作系统,它使用Android内核和驱动以兼容当时的手机硬件,但不使用Java虚拟机,UI层是基于QML,支持原生和Web应用。 Canonical创始人Mark Shuttleworth (马克·理查德·沙特尔沃思)称,Ubuntu独特之处是融合手机与PC,手机用户可以获得完整的PC功能,而开发者向Ubuntu Software Centre递交的应用如果兼容手机和桌面,则可以同时在两个平台发行。Shuttleworth说,Ubuntu的另一大优势是最近几年游戏发行商 Valve和开发商Unity正开始针对Ubuntu发行和开发游戏。虽然Ubuntu和Android都是开源系统,但Canonical表示其开发流程将会更透明开放。曾经在桌面PC的成功使得Canonical得意忘形盲目自大,Ubuntu Phone OS最终因现实的深重打击急症而亡。

Brew Mobile Platform (功能机系统平台,半智能手机操作系统)

013. Brew Mobile Platform OS (功能机操作系统,半智能手机系统)

搭载Brew MP系统平台的HTC半智能功能机F8181(Freestyle)

Brew Mobile Platform(Brew MP)系统平台是CDMA之父高通公司在2009年开发的封闭式移动操作系统,安装软件极为艰难,常承载于CDMA手机,系统内置QQ,Brew MP可支持几乎所有流通于市场上及使用各种3G技术的手机与移动装置。借助Brew移动平台软件开发套件可以让软件开发商与设计者轻易地为手机与手持移动装置打造新的应用软件、Widgets工具应用程序以及定制的操作接口。Brew MP是智能机普及之前的半成品(或基础设施),所以很快匿迹。

Linux Pure OS (手机和电脑共用的操作系统)

014. Linux Pure OS (Linux 操作系统)

搭载Linux PureOS的代表机型:Librem 5

Pure OS是一款基于Debian的开源操作系统,它最大的特点就在于完全免费,并且可以完全接受任何人对它的安全性审核。Purism是一家致力于自由、隐私和安全的科技公司。他们的目标是生产能够保证用户信息安全的软件和硬件,在推出了几款笔记本电脑后,目前正在开发基于Linux的智能手机。Purism团队致力于将PureOS作为一个统一的系统,应用于他们的笔记本和移动端设备。近期他们也打造了一款预装PureOS的智能手机产品——Librem 5。

Windows CE(曾经与PalmOS并列的移动端PDA操作系统)

015. Windows CE OS (Windows Embedded Compact)

搭载WindowsCE系统的MEIZU M8

WindowsEmbeddedCompact(WindowsCE)是微软公司嵌入式、移动平台基础,它是一个开放的、可升级的32 bit嵌入式操作系统,是基于掌上型电脑类的移动设备操作系统。在2008年4月15日举行的嵌入式系统大会上,微软宣布将Windows CE更名为WindowsEmbeddedCompact,与Windows EmbeddedEnterprise,WindowsEmbedded Standard和Windows Embedded POSReady组成Windows Embedded系列产品。它是精简的Windows 95,Windows CE的图形用户界面相当出色。用于掌上电脑Pocket PC以及智能手机Smart Phone上的Windows CE系统称为Windows Mobile,其成熟版本为Windows Phone 8.1。生命周期:1996-2010 最终版本:WinCE 7

Windows Mobile操作系统

016.WindowsMobileOS(WindowsPhone7.0之前的版本就是WindowsMobile)

搭载Windows Mobile 6.5操作系统的代表机型:HTC T3333 Touch2

2000年,微软针对智能手机开发了Windows Mobile系统。Windows Mobile基于Windows CE 内核,设计初衷是「让用户拥有接近于桌面版本Windows系统的体验」,对系统的UI进行了大幅度改进。2009年2月,世界移动通信大会上,微软发布了Windows Mobile 6.5开始和iPhone一样支持电容屏技术。2010年10月11日晚上9点30分,微软公司正式发布了智能手机操作系统WindowsPhone,同时宣布中止对原有Windows Mobile系统的支持和开发,从而宣告了Windows Mobile系统的退市。生命周期:2000-2010 最终版本:Windows Mobile 6.5

Windows Phone OS

017. Windows Phone OS

搭载Windows Phone 8.1操作系统的Nokia Lumia 930

Windows Phone(简称为WP)是微软于2010年10月21日正式发布的一款智能手机操作系统,初始版本为Windows Phone7.0(相当于Windows Mobile 6.5迭代版),基于Windows CE内核。2011年02月,诺基亚与微软达成全球战略同盟并深度合作共同研发该系统。2011年9月27日,微软发布升级版Windows Phone 7.5,这是首个支持简体中文的系统版本。2012年6月21日,微软正式发布Windows Phone 8,全新WindowsPhone8舍弃了老旧WindowsCE内核,采用与Windows系统相同的Windows NT内核,支持很多新特性。由于内核改变,所有Windows Phone 7.5系统的手机都无法升级至Windows Phone 8。为了照顾Windows Phone 7.5系统的用户,微软还是发布了Windows Phone 7.8,拥有部分Windows Phone 8的特性。2014年4月2日,微软发布了Windows Phone 8.1,相比Windows Phone 8增加了更多新功能,升级了部分组件,并且宣布所有Windows Phone 8设备可全部升级为WindowsPhone8.1。2014年7月,微软发布了WP8.1 更新1,在Windows Phone 8.1的基础上添加了一些功能,并且做了一些优化。2015年2月,微软在推送Windows 10 移动版第二个预览版时,还推送了Windows Phone 8.1 更新2,在WP8.1 更新1的基础上改进了一些功能的操作方式。生命周期:2010-2015 最终版本:WP8.1

Windows 10 Mobile

018. Windows 10 Mobile

Windows 10 Mobile最后的绝唱:HP Elite X3

Windows 10 Mobile是微软Windows 10 移动版(手机端)。支持跨平台运行的UWP(Universal Windows Platform)应用。微软此前已经宣布停止更新Windows 10 Mobile,并且不会添加任何新功能。受支持的最后一个版本是Windows 10 Mobile 1709(内部版本15254)。2018年12月,微软公司宣布,将于2019年12月10日停止发布Windows 10 Mobile安全和软件更新,同时停止对相关设备的技术支持。生命周期:2014-2019 最终版本:Windows 10 Mobile 1709

JAVA ME (功能机扩展程序,非操作系统)

019. JAVA ME (功能机扩展程序,非智能操作系统)

JAVA功能机OPPO U525

JAVA功能机(支持java程序的手机),主要是指运行JAVA ME程序的手机。Java SE、Java EE、Java ME三者的区别:1. Java SE(Java Platform,Standard Edition)。Java SE以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。2. Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。3. Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。综上所述归纳如下:Java SE 是做电脑上运行的软件。Java EE 是用来做网站的(我们常见的JSP技术)。Java ME 是做手机软件的。

Symbian S40 (功能机扩展程序,半智能操作系统)

020. NOKIA Symbian S40 (功能机扩展程序,半智能操作系统)

NOKIA Symbian S40V6版机型:诺基亚7510 Supernova

Series40平台是位于操作系统层和用户应用之间的一个软件层,是基于底层操作系统之上的软件界面层(接口),是一个应用程序开发的API集合,为软件开发者提供了开发应用程序的接口和工具,并提供给用户UI支持和多媒体方面的应用支持。S40平台是为大众市场准备的Java手机平台,它经历了六个版本的发展。相对S60、S80、S90而言,S40是构建在诺基亚自身的封闭操作系统平台上的,由于底层没有采用Symbian OS操作系统,所以S40平台不支持C++程序开发,操作系统的扩展性仅限于JAVA程序应用。

索尼爱立信A200操作系统

021. 索尼爱立信A200系统 (功能机操作系统,半智能操作系统)

A200系统代表机型:索尼爱立信U10

A200系统是索尼爱立信根据爱立信DB系列芯片开发的一套高性能非智能机操作平台,它使索爱手机拥有了当时智能手机才有的JAVA后台多任务能力,能够同时运行多个JAVA程序。由于爱立信DB系列芯片分为DB2000系列和DB3000系列,所以A200系统又被分为A1和A2,A2平台是A200操作系统的最后一个版本,而A2平台的最后一部手机就是被誉为最强JAVA功能机的索尼爱立信J108,其JAVA性能甚至足以干翻许多早中期的塞班S60V3智能机。

Tizen OS (三星泰泽系统)

022. Tizen OS (三星泰泽系统)

搭载Tizen OS 3.0的机型:SAMSUNG Z4

Tizen OS(泰泽系统)是英特尔和三星于2011年09月28日合作创建的基于Linux的一款开源操作系统。该操作系统除了将支持HTML5与基于WAC的应用程序外,还可广泛应用于各种不同的装置,其中包含智能型手机、平板计算机、智能电视、笔记本电脑与行车娱乐系统。Tizen系统的本质是英特尔MeeGo系统与三星LiMo系统的混合体。从2012年到2019年,Tizen在手机领域并未获得成功。2014年,随着Android和IOS的两家独大,Tizen系统在手机市场几乎没有立足之处,哪怕是印度这样的新兴入门级市场也被两巨头抢占。2015年以后,三星基本放弃了Tizen在手机方面的应用。但Tizen并没有退出历史舞台,而是进入另一个市场:物联网。据悉Tizen OS目前的研发主要用于相机、智能手表、智能电视、媒体播放机、机顶盒、空调系统、冰箱、照明等领域。

国产山寨手机搭载的伪系统:Nucleus OS

023. Nucleus OS (MTK平台手机操作系统,功能机操作系统)

国产手机"波导D706"搭载的MTK平台操作系统:Nucleus OS

Nucleus OS就是MTK平台手机采用的操作系统。Nucleus是Accelerated Technology公司开发的嵌入式实时操作系统,使用标准C开发,其中Nucleus Plus提供源代码下载。Nucleus支持FAT、CD-ROM文件系统。Nucleus OS主要搭载设备:国产手机;山寨手机;少部分品牌手机。操作模式:手写+键盘或全键盘+语音。类别:中低端手机操作系统。曾经搭载Nucleus OS的国产手机品牌:天语,金立,长虹,金鹏,OPPO,步步高,大显等。MTK平台手机操作系统优势:视频播放能力强于诺基亚S40V5以下系统;可以内置模拟器游戏;支持触摸屏。MTK平台手机操作系统劣势:对JAVA支持很差;拍照效果不好;系统自带铃声很少。大部分MTK平台手机支持MRP格式的游戏和软件,这类软件具有安装方便,对手机硬件配置要求很低的特点。搭载Nucleus OS的手机大约在2010年前后被市场淘汰。

Motorola Linux OS (Motorola智能手机操作系统)

024. Motorola Linux OS (Motorola智能手机操作系统)

搭载Motorola Linux OS的Motorola A1200

Linu是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统内核。它能运行主要Uni工具软件、应用程序和网络协议。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。Motorola在2006年推出第一个内置Java扩展程序和Linux软件的手机A760。Motorola曾经试图用Linux和同时期的symbian、windows mobile系统竞争,但是Motorola不愿把moto Linux系统开源,只想独家使用。最终moto Linux没有形成生态。Android同样也是基于Linux系统内核,但谷歌以Apache开源许可证的授权方式,公开了Android的源代码,最终Android取得了成功。失败以后的Motorola手机业务于2014年被中国联想集团并购。

LiMo OS (Linux Mobile)

025. LiMo OS (Linux Mobile,智能手机操作系统)

搭载LiMo OS的SAMSUNG i8320

LiMo OS(Linux Mobile)是建立在开放式操作系统之上的模块化插件式硬件虚拟化架构,拥有一个支持下载应用程序的安全运行环境,第三方开发者可以使用LiMo的应用程序编程接口(API)的规格标准来编写新的应用程序。LiMo系统的中间层组件可以用C或C++语言编写。LiMo基金会是在2007年1月29日创立的一个由全球移动智能终端行业领导企业组成的协会。LiMo基金会为整个移动智能终端行业提供了开放式的手机平台LiMo OS,LiMo系统是世界上第一款具有全球竞争力的基于Linux内核的移动智能终端操作系统。但和其它绝大多数OS一样,LiMo OS最终被市场淘汰。

Firefox OS极致简化版:Kai OS

026. Kai OS (功能机操作系统,半智能手机)

搭载Kai OS的半智能手机WizPhone

KaiOS系统的前身是Firefox OS。2017年,在Firefox OS经过一系列优化和改进后,以KaiOS的名字进入了低端功能机市场,并在一年时间内在印度市场实现普及,成为印度仅次于安卓的第二大移动操作系统。2018年12月,KaiOS宣布推出WizPhone,该手机在印尼的售价仅为9.9万印尼盾(约合7美元、50人民币)。截至2019年5月,全球已经卖出8000万部KaiOS系统的手机,其中印度贡献了90%以上的市场。KaiOS系统的用户界面是基于物理按键和非触摸显示屏设计的,而Firefox OS则应用于触碰设备。对Firefox OS的极端简化,让本就省电和对处理器性能要求不高的Firefox OS进一步精简优化,变得更加省电和对硬件依赖性更低。但即便将系统缩减至此,KaiOS系统依然支持3G、4G、WiFi、GPS和NFC等等。目前该系统依然活跃于低端机市场。

Harmony OS (HUAWEI 智能移动终端操作系统)

027. Harmony OS (HUAWEI 智能移动终端操作系统)

搭载Harmony OS的HUAWEI智慧屏Pro正在镜像投屏

鸿蒙OS(英文:Harmony OS)。在2019年8月9日,华为在东莞举行华为开发者大会,正式发布操作系统鸿蒙OS。鸿蒙OS是一款“面向未来”的操作系统,一款基于微内核的面向全场景的分布式操作系统,它将适配手机、平板、电视、智能汽车、可穿戴设备等多终端设备。鸿蒙微内核是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架。可用于大屏、PC、汽车等各种不同的设备上。

Android OS (Google公司开发的智能终端操作系统)

028. Android OS (Google公司开发的智能终端操作系统)

IOS (苹果公司开发的移动终端操作系统)

029. IOS (苹果公司开发的移动终端操作系统)

Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统

特别说明:本文剔除了大量基于Android的二次开发OS。

其中包括但不限于:HTC Sense UI,宏达国际电子(HTC)开发的一种针对Android的智能手机人机交互界面(UI),首款搭载机型HTC Hero;LG Optimus UI,LG公司基于原生Android修改的智能手机人机交互界面(UI);MIUI,小米公司基于Android系统深度优化、定制、开发的第三方手机操作系统;Emotion UI (简称EMUI),是华为公司基于Android开发的情感化人机交互界面(UI);Flyme OS,魅族公司基于Android深度定制的闭源智能手机操作系统;MotoBlur UI,摩托罗拉基于谷歌Android开发的移动终端人机交互界面(UI);OMS(Open Mobile System),中国移动通讯集团公司参照Google开发的一款基于Linux内核及Android平台构建的开放式手机操作系统,简称OMS;YunOS,阿里巴巴基于LINUX(兼容Android)开发的智能手机操作系统。阿里云OS采用Cloud App方式,使用户不需要在手机端下载应用,而只在网络环境下,登陆统一的云账号后,只要手机流量足够,即可运行OS平台上的各种应用。