成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

YodaOS:一個(gè)屬于 Node.js 社區(qū)的操作系統(tǒng)

Batkid / 2000人閱讀

摘要:的架構(gòu)跟類似,從下至上,由系統(tǒng)服務(wù)和應(yīng)用框架組成。依托于提供的運(yùn)行時(shí),從到現(xiàn)在的和,在構(gòu)建工具領(lǐng)域,社區(qū)也不斷涌現(xiàn)出非常卓越的開(kāi)源項(xiàng)目來(lái)。

大家好,很開(kāi)心在這里宣布 YodaOS 開(kāi)源了。他將承載 Rokid 4年以來(lái)對(duì)于人工智能和語(yǔ)音交互領(lǐng)域的沉淀,并選擇 Node.js 作為操作系統(tǒng)的一等開(kāi)發(fā)公民,全部開(kāi)放給社區(qū)。

YodaOS 的架構(gòu)跟 Android 類似,從下至上,由 Linux Kernel、系統(tǒng)服務(wù)和應(yīng)用框架組成。不過(guò) YodaOS 有以下不同:

開(kāi)發(fā)者可以直接使用 JavaScript / Node.js 來(lái)開(kāi)發(fā)本地應(yīng)用(技能);

封裝了 AI 抽象層,可以通過(guò) JavaScript 直接調(diào)用到諸如語(yǔ)音激活、語(yǔ)音識(shí)別、人臉識(shí)別等接口;

除了支持默認(rèn)的 Node.js API 外,YodaOS 還提供:

內(nèi)置的語(yǔ)音激活和語(yǔ)音識(shí)別 API,真正做到了開(kāi)箱即用(開(kāi)發(fā))的語(yǔ)音交互系統(tǒng);

對(duì)音量控制、電源管理、藍(lán)牙、多媒體播放、LED 燈效和 OTA 等都進(jìn)行了接口封裝;

對(duì)物聯(lián)網(wǎng)開(kāi)發(fā)者來(lái)說(shuō),內(nèi)置了標(biāo)準(zhǔn)化的 WebSocket、MQTT 等物聯(lián)網(wǎng)協(xié)議的客戶端實(shí)現(xiàn);

YodaOS 也支持 npm 倉(cāng)庫(kù),開(kāi)發(fā)者可以根據(jù)自己的需要在 OS 中運(yùn)行所需的模塊,不過(guò)并不推薦使用一些實(shí)現(xiàn)起來(lái)很重的模塊,因?yàn)?YodaOS 需要支持中低端設(shè)備,所以有時(shí)候也需要考慮到性能方面的因素。

如果遇到一些 npm 倉(cāng)庫(kù)確實(shí)實(shí)現(xiàn)很重,但又不得不用的時(shí)候,在 YodaOS 上,我們一般的做法是使用 N-API 橋接 C/C++ 模塊,然后保證 JavaScript API 與對(duì)應(yīng)的 npm 包一致。

同時(shí)借助于 N-API,開(kāi)發(fā)者可以將任何 Linux 的庫(kù)移植到 YodaOS 上,并通過(guò) N-API 以 JavaScript API 方式使用,可以這么理解,N-API 之于 YodaOS,就像 JNI 之于 Android。

為什么是 Node.js

前面提到了 YodaOS 選擇擁抱 Node.js 和 Node.js 開(kāi)發(fā)者,最大的一個(gè)原因就是在過(guò)去將近10年的時(shí)間,從最開(kāi)始 Ryan Dahl 定義的,一個(gè)輕量級(jí)的 Web 服務(wù)器框架,到如今的 Express、Loopback、Koajs、Midway 和 Egg Framework,在 Web 服務(wù)器框架領(lǐng)域已經(jīng)漸漸成熟。

依托于 Node.js 提供的運(yùn)行時(shí),從 Grunt、Gulp 到現(xiàn)在的 Webpack 和 Parcel,在構(gòu)建工具領(lǐng)域,社區(qū)也不斷涌現(xiàn)出非常卓越的開(kāi)源項(xiàng)目來(lái)。Node.js 正在發(fā)揮每位開(kāi)發(fā)者的想象力,社區(qū)中幾乎有你需要的一切,甚至于在社區(qū)中,有一句流傳已久的名言:

“any application that?can?be written in JavaScript,?will eventually be
written in JavaScript”

——Atwood’s Law

意思就是說(shuō),只要能被 JavaScript 來(lái)編寫的程序,終將使用 JavaScript 實(shí)現(xiàn)。那為什么不用 JavaScript 來(lái)寫一個(gè)操作系統(tǒng)呢?

當(dāng)然上面的只是一個(gè)有趣的引子,Rokid 真正想做的是讓 Node.js 開(kāi)發(fā)者能夠以更低的門檻進(jìn)入語(yǔ)音交互和嵌入式領(lǐng)域。

Node.js 與 ShadowNode

YodaOS 雖然跟 Android 的架構(gòu)相似,不過(guò)解決的問(wèn)題,及目標(biāo)設(shè)備并不盡然相同,對(duì)于現(xiàn)在越來(lái)越便宜的手機(jī),Android 開(kāi)發(fā)者幾乎不用擔(dān)心系統(tǒng)性能的問(wèn)題。然而對(duì)于像智能音響、IoT 終端以及其他嵌入式設(shè)備,通常硬件資源都是非常緊缺的,在這種情況下,OS 就要解決開(kāi)發(fā)者“既要節(jié)省資源、又要便于開(kāi)發(fā)”的問(wèn)題。

于是針對(duì)中低端硬件產(chǎn)品(內(nèi)存介于 128MB 到 256MB 之間),我們創(chuàng)造了 ShadowNode 來(lái)解決這個(gè)問(wèn)題,它是 Rokid 基于三星 IoT.js 二次開(kāi)發(fā)的一款 Node.js 運(yùn)行時(shí),它具備更快的啟動(dòng)速度和更低的資源占用,相比 IoT.js,它:

提供了更好的錯(cuò)誤棧信息和性能調(diào)試工具;
支持了基于 N-API 的跨運(yùn)行時(shí)模塊執(zhí)行;
針對(duì)特定芯片的性能優(yōu)化,比如 AmLogic A113 和 Kamino18;

借助于 N-API 的 ABI 兼容特性,我們實(shí)現(xiàn)了 OS 上層框架和應(yīng)用的運(yùn)行時(shí)兼容性。比如開(kāi)發(fā)者完全可以選擇在更高級(jí)的設(shè)備上運(yùn)行 YodaOS,此時(shí)內(nèi)存和 Flash 不再是瓶頸,開(kāi)發(fā)者只需要更換系統(tǒng)中的 Node.js 運(yùn)行時(shí),即可獲得更快的執(zhí)行速度,不需要修改一行上層代碼。

最后

我們希望借助 YodaOS,為 Node.js 社區(qū)補(bǔ)全終端開(kāi)發(fā)這一版圖,讓我們用這門親切的語(yǔ)言,再次回到我們熟悉的“端”的開(kāi)發(fā)。

如果想一起加入 YodaOS,可以在 GitHub 上關(guān)注我們,項(xiàng)目地址:https://github.com/yodaos-pro...。

關(guān)于 YodaOS:

YodaOS 是 Rokid 研發(fā)的首個(gè)全棧開(kāi)源 AI 操作系統(tǒng),由 Linux 內(nèi)核、硬件抽象層、AI 抽象層和 JavaScript 框架組成,專為下一代人機(jī)交互設(shè)備開(kāi)發(fā),可用于智能音箱、智能家居、智能穿戴和車載等多種設(shè)備和場(chǎng)景。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/108926.html

相關(guān)文章

  • YodaOS開(kāi)發(fā)套件征集活動(dòng)

    摘要:為了能讓感興趣的開(kāi)發(fā)者小伙伴第一時(shí)間體驗(yàn)到,聯(lián)合社區(qū)趕在春節(jié)前發(fā)起開(kāi)發(fā)套件試用征集活動(dòng),該套件是基于自研語(yǔ)音解決方案平臺(tái)打造而成。與此同時(shí),我們也同樣提供高度定制化模塊化的整體架構(gòu),開(kāi)發(fā)者亦可方便地選擇想要集成的模塊對(duì)整個(gè)操作系統(tǒng)重新組裝。 1月28日,Rokid為人機(jī)交互設(shè)備開(kāi)發(fā)的開(kāi)源人工智能操作系統(tǒng)——YodaOS正式上線,可用于智能音箱、智能家居、智能穿戴和車載等多種設(shè)備和場(chǎng)景。...

    canger 評(píng)論0 收藏0
  • YodaOS開(kāi)發(fā)套件征集活動(dòng)

    摘要:為了能讓感興趣的開(kāi)發(fā)者小伙伴第一時(shí)間體驗(yàn)到,聯(lián)合社區(qū)趕在春節(jié)前發(fā)起開(kāi)發(fā)套件試用征集活動(dòng),該套件是基于自研語(yǔ)音解決方案平臺(tái)打造而成。與此同時(shí),我們也同樣提供高度定制化模塊化的整體架構(gòu),開(kāi)發(fā)者亦可方便地選擇想要集成的模塊對(duì)整個(gè)操作系統(tǒng)重新組裝。 1月28日,Rokid為人機(jī)交互設(shè)備開(kāi)發(fā)的開(kāi)源人工智能操作系統(tǒng)——YodaOS正式上線,可用于智能音箱、智能家居、智能穿戴和車載等多種設(shè)備和場(chǎng)景。...

    call_me_R 評(píng)論0 收藏0
  • 第八期杭州NodeParty x Rokid技術(shù)分享會(huì)回顧

    摘要:月號(hào),杭州和聯(lián)合主辦的第八期技術(shù)分享會(huì),在公司如期舉行。張偉林,宋小菜資深前端開(kāi)發(fā)工程師,年,霹靂迷,已手殘的紙牌魔術(shù)師,喜歡神奇的東西,技術(shù)棧從上向下不斷橫向縱向貫穿,目前在尋找前后端大一統(tǒng)思想的路上越走越偏。 showImg(https://segmentfault.com/img/bVbkWN4?w=3000&h=1686); 12 月 9 號(hào),杭州 NodeParty 和 Ro...

    gself 評(píng)論0 收藏0
  • YodaOS 中是如何生成 API

    摘要:系統(tǒng)在初始化時(shí),會(huì)加載所有,然后分別在和生成對(duì)應(yīng)的。那么在中,又是如何將上述的生成為開(kāi)發(fā)者直接使用的接口的呢下面就為大家介紹我們引入的。它接受一個(gè)對(duì)象,然后會(huì)遍歷原型鏈中的對(duì)象,并且分別按照和去生成一個(gè)叫的對(duì)象,最后將這個(gè)對(duì)象返回給開(kāi)發(fā)者。 在 Node.js 社區(qū)中,其實(shí)不乏通過(guò) Markdown 生成 RESTful API 的框架,按照一定的格式約定好 API 所需要的數(shù)據(jù),然后...

    Tikitoo 評(píng)論0 收藏0
  • 了解語(yǔ)音交互:從“若琪,今天杭州天氣”發(fā)生了什么?

    摘要:接下來(lái),由會(huì)通過(guò)上傳音頻數(shù)據(jù),云端通過(guò)一系列算法最終將語(yǔ)音數(shù)據(jù)轉(zhuǎn)換為兩部分結(jié)果純文本,表示這段音頻數(shù)據(jù)中用戶所說(shuō)的話,比如若琪今天的天氣。 本文是面向 Web 開(kāi)發(fā)者所寫,介紹關(guān)于語(yǔ)音交互的一篇科普性質(zhì)的文章,希望借助這篇文章,讓開(kāi)發(fā)者了解到什么是語(yǔ)音交互,以及在 YodaOS 中的技術(shù)實(shí)現(xiàn)。不了解YodaOS是什么?點(diǎn)擊這里回顧。 作為 Web 開(kāi)發(fā)者,相信在面試時(shí)常會(huì)被問(wèn)到瀏覽器輸...

    kel 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Batkid

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<