KaiOS Developers Primer
KaiOS 开发者初级指南
作者:没有时间的魔王(QQ王者冰)
友情赞助:清水博客KaiOS交流群
第一章 初见KaiOS
一、介于智能机与功能机之间的强大
KaiOS是世界上第三大操作系统,它基于FireFox OS。由于火狐操作系统的便捷性和实用性,KaiOS被赋予了强大的功能。如搭载KaiOS的功能机—诺基亚8110 4G,具有以下功能:4G LTE网络、VoLTE、浏览器、音乐播放、热点、共享网络、视频、YouTube、Facebook、Twitter……这居然实现在一台只有512MB运行内存,可以续航17天的功能机上!
二、强大其实很简单
其实,KaiOS只不过是一个可以听歌看图玩游戏的一个浏览器操作系统。是不是很震惊!想一想,我们正常生活用的安卓手机,也拥有这一些功能,但想想它那“疯狂吃内存”的场景,有的时候连4GB内存都满足不了它;一次安装应用程序就废掉100MB储存空间,而KaiOS一次安装只用1MB不等……而这居然是一个浏览器实现的!
其实也不难理解,稍微有些电脑知识的朋友都知道,浏览器只不过是从网上调起脚本、超文本来运行的。我们看到的“百度”、“谷歌”根本不是储存在我们手机上的,这好比从一扇窗户看外面的草原,你不可能把草原放到窗户里吧!KaiOS 就是基于这样的模式。把一些轻量化的东西当作小纸片融化在玻璃里,再透过窗户看草原或者小纸片。
第二章 开发吧,勇士
一、我要学什么
根据我们之前关于KaiOS 是个浏览器的推论,我们可以得出什么?有网页制作基础的朋友立刻就得出来了:HTML、CSS、JavaScript!如果有这种想法的朋友,已经可以跳过这去看“工欲善其事 必先利其器”这一章节了。如果不知道的读者也别着急,我们慢慢来,这本书有讲解这些的。
二、工欲善其事 必先利其器
这里我们要讲到开发工具。如果你是Linux用户,请看“附录 如果我是Linux用户要怎么办”。
要为KaiOS开发应用,必须要有一台搭载KaiOS的手机,如果没有,请参阅“附录 如果我没有手机该怎么办”并下载WebIDE。如果不知道自己的手机有没有搭载KaiOS,请翻阅“附录 目前为止搭载了KaiOS的手机名单”。
以下是开发者必备物资:
搭载了KaiOS的手机(或是用模拟器、WebIDE)
一台计算机
三、警告开发者
如果你为KaiOS开发了应用,必须考虑以下几个方面:
一、由于系统限制等因素,您只能直接把源码打包。这意味着您只能以开源的方式来开发软件,也意味着伯克利软件分发协议与GNU软件分发协议在KaiOS永久有效。(您可以选择不以该两种协议分发)
二、您可以选择在KaiOS内置应用商店、BananaHacker应用商店和Killer应用商店分发软件,也可以选择在其他地方分发软件。(如您自己的网站上)
三、您可以通过付费方式分发软件,也可以选择免费方式分发软件。
第三章 初级开发(一)
一、HTML学习
我们在上面讲到了,学习开发KaiOS软件,就要学习HTML。我们在这里分享两个学习HTML的网站。
第一个:www.w3school.com.cn
第二个:https://www.runoob.com
二、第一个应用并不是“HelloWorld”
我们要先熟悉一下下面的HTML 片段。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>我的第一个应用程序</h1>
<p>Congratulations,guys!</p>
</body>
</html>
将以上文字输入到记事本中,保存后,存为“index.html”。
确保你的电脑以安装浏览器后,双击“index.html”,你会发现,你的电脑出现了以下两行字:
我的第一个应用程序
Congratulations,guys!
这就是你的第一个应用程序了。
(P.S. 有人说,这不跟“HelloWorld”差不多嘛,我要郑重声明一下,这明明跟“Hello World”不一样嘛,那玩意儿只有一行,我这不有两行嘛。(手动滑稽))
三、代码剖析
我们分析上面的代码,可以得出以下结论:
<!DOCTYPE html> 声明为 HTML5 文档
<html> 元素是 HTML 页面的根元素
<head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。
<title> 元素描述了文档的标题
<body> 元素包含了可见的页面内容
<h1> 元素定义一个大标题
<p> 元素定义一个段落
HTML 标记标签通常被称为 HTML 标签 (HTML tag)。
HTML 标签是由尖括号包围的关键词,比如 <html>
HTML 标签通常是成对出现的,比如 <b> 和 </b>
标签对中的第一个标签是开始标签,第二个标签是结束标签
开始和结束标签也被称为开放标签和闭合标签
四、什么是HTML?
(POWERED BY RUNOOB)
什么是HTML?
HTML 是用来描述网页的一种语言。
HTML 指的是超文本标记语言: HyperText Markup Language
HTML 不是一种编程语言,而是一种标记语言
标记语言是一套标记标签 (markup tag)
HTML 使用标记标签来描述网页
HTML 文档包含了HTML 标签及文本内容
HTML文档也叫做 web 页面
五、探究题 浏览器的本质
我们查阅网站时,看到的并不是纯的HTML文档,比如说“百度”。可是它也是由HTML和CSS、JavaScript(这些在以后会学)组成的啊,为啥我看到的不是各种各样花里胡哨的尖方框,而是百度的主页面?这其实涉及到了一种东西——文本读取技术。
浏览器其实它的本质就是HTML阅读器,会MarkDown的同志们就知道,MarkDown阅读器可以把MarkDown隐藏起来,转换成可视化内容。浏览器也是如此。它先把文档中引用的一大堆图片文字视频拉取过来,然后根据HTML写的东西,一股脑儿的全部重建成网页。
于是HTML相当于蓝图,所以它不是编程语言。(这句话理解不了就算了,老冰,你用的时候帮我删了这句)
第四章 初级开发(二)
一、学习当一名快递小哥——打包技术(本章由网友 浮冰 友情提供)
将HTML5 与其附加文件放入某一文件夹中(不放也可以,就是不方便)
将HTML文件重命名为index
新建文本文档命名为mainfest.webapps
打开,参照(https://developer.kaiostech.com/getting-started/main-concepts/manifest)进行编辑(打不开的话,参看 附录 官网的开发者文档打不开怎么办)
将文件夹内的文件(注:非文件夹)压缩为application.zip
新建metadata.json文件,填入以下内容:
Code
1
2
{"version": 1, "manifestURL": "这里填任意网址,且与现有应用的不重复"}
#这个回车似乎必须有
将application.zip和metadata.json压缩为zip即可在omnisd或gerdapkg安装了。
找到你要安装的 zip点击安装即可
声明
*本教程由逻辑鬼才(QQ浮冰)指导,暖树.(薛定谔的作业.) 整理, 没有时间的魔王(QQ王者冰)采用于本章。
*原教程来自 清水博客 网址:http://www.heppy.wang/
*码字者(暖树)又言:
emmm......教程是从博客来的吧,但又是浮冰大佬一步步教的,
所以本教程最终保留与删除决定权归博客与QQ浮冰所有。”