分类
代码 安卓

Dora.js – Android 上的内容型编程平台,学习 JavaScript 开发!

最近刷酷安发现一个很酷的软件:Dora.js

官方介绍

Dora.js 是 Android 上的一个内容型编程平台,提供了强大且简单的一套扩展框架,让你可以轻松写出诸如提供视频、图片、漫画、音乐、图书、文章等的扩展,打造属于自己的内容中心。

简单来说,你可以把它当做一个可以安装许多扩展的 App。

如果你想学习 JavaScript,Dora.js 可以给你提供非常大的帮助。

Dora.js 使用 V8 作为脚本引擎,提供完善的 Node.js 运行时:

  • 支持 npm 依赖包
  • 虚拟文件路径让文件访问更轻松、更安全

Dora.js 包含一个强大的代码编辑器:

  • 支持代码高亮,多种字体、配色可选
  • 支持智能补全、签名提示
  • 提供 VSCode 插件
  • 提供多种快捷工具使手机上编程成为一件容易事
  • 取经自 “纯纯写作” 的优秀编辑器体验

注意:Dora.js 目前还处于不稳定阶段,很多能力还很简陋,你在使用过程中还有几大概率出现闪退现象。

下载地址:https://www.coolapk.com/apk/com.linroid.dora
Dora.js
Dora.js

如何使用

虽然介绍里重点突出的是作为编程平台的特色,但作为普通用户,我们也可以把玩其中许多优秀的扩展。

比如作者(@linroid)提供的示例扩展之一,Bing Wallpaper, 可以查看最近 8 天的必应壁纸,并支持一键设置壁纸或保存/分享/收藏。
还有许多大佬发布的,例如“场库”,“期刊杂志”,“斗鱼直播”,“B 站 UP 主稿件拉取”,“花瓣”等各种花式玩法都可以体验一下。

当然,为了入坑体验,我(@youthlin)也制作了一个 “RSS 聚合阅读”(npm 包名dorajs-rss)的工具(第一版抄袭了已有的 “RSS 阅读器”, npm 包名 dorajs-wlor-rssreader, 后续迭代版本已经不像了),欢迎试用~

RSS 聚合阅读
RSS 聚合阅读

一些示例的 feed 源:

如何安装扩展

作为一个平台,在 Dora.js 上可以安装来自 npm 仓库的扩展,也可以从文件安装 .dora 文件(实质是 .tar.gz 的 npm 包)。

至于安装 npm 仓库里的包,又有多种途径:

  1. 订阅扩展作者:下载后在第二个 Tab 页,即订阅页面,选择右上角管理,可以输入 npm 用户名以查看、安装或订阅该用户发布的所有扩展
  2. 点击右上角菜单,直接输入 npm 包名安装
  3. 使用“扩展检索”这个扩展安装,至于“扩展检索”可以通过第一(用户名 @1024.js)或第二种(npm 包名 dorajs-index)方式安装

如何制作扩展

在首页点击加号,根据提示可以从自带模版创建一个最简单的 Hello World 的扩展。

创建之后还可以在 Dora.js 自带的编辑器上进行开发。不过如果是正经开发的话,都知道用手机键盘打字是一种怎样痛苦的体验,所以 Dora.js 还有一款 VS Code 插件(在 VS Code 扩展商店里搜索 Dora.js 就行),可以在 VS Code 上开发,然后随时推送到手机上调试。

Dora.js 的 文档 也还算齐全,可以查到提供的所有 API 的用法,作者还提供了一个示例扩展(包名 @dora.js/api-demo)可以体验所有 API.

支持的组件有 list 列表,video 视频,audio 音频,article 文章,image 图片,webview 浏览器,topTab 顶部分栏,bottomTab 底部分栏,drawer 汉堡菜单分栏,分栏嵌套。

支持的全局函数有界面相关 $ui, 输入相关 $input, 路由相关 $router, 配置相关 $prefs, 存储相关 $storage 等基本 API. 至于更强大的数据库操作能力暂时还没有提供,作者说后面会支持上。

最后

发现 npm 发布一个包简直太简单了,只需要在 npmjs.com 注册一个用户,然后在命令行用 npm adduser 登录后,就可以使用 npm publish 发布了。(难怪 npm 包那么多 [/偷笑]

  • 项目首页:https://dorajs.com/
  • 非官方 QQ 群:882020404 (里面有很多开发扩展的大佬)


发表评论

电子邮件地址不会被公开。 必填项已用*标注

[/鼓掌] [/难过] [/调皮] [/白眼] [/疑问] [/流泪] [/流汗] [/撇嘴] [/抠鼻] [/惊讶] [/微笑] [/得意] [/大兵] [/坏笑] [/呲牙] [/吓到] [/可爱] [/发怒] [/发呆] [/偷笑] [/亲亲]

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据