JavaScript平臺Platypi悄然登場

gww3 9年前發布 | 5K 次閱讀 JavaScript

英文原文:Platypi JavaScript Platform Launches

幾個月前,一個新的 JavaScript 平臺 Platypi 悄然誕生。它為開發者提供的不僅僅是一套標準的 MVC 框架而已,由于它是基于 TypeScript 構建的,因此對開發者而言在熟悉之中透露出與眾不同的感覺。

Platypi 平臺包括三個組件:PlatypusTS、PlatypusUI 和 PlatypusCLI。PlatypusTS 是核心的 MVC JavaScript 框架,基于 TypeScript 構建。在某種程度上,它的視圖控制器-服務-視圖(View Controllers、Services、Views)模型看起來似曾相識。

在三個組件交匯的平臺中,集成了一個有趣的獨立命令行工具。當構建 app 時,開發者經常會寫許多重復的樣板代碼以生成服務或控制器的骨架。PlatypusCLI 為開發者提供了一個可以自動生成樣板代碼的生成器。例如,在命令行中輸入:

platypi add service products
</div>

這條指令在適應的目錄下創建一個 TypeScript 文件基本結構,包含以下代碼:

/// <reference path="../../_references.d.ts" /> import plat = require ('platypus');
import BaseService = require ('../base/base.service');
class ProductsService extends BaseService {}
plat.register.injectable ('products-service', ProductsService);
export = ProductsService;
</div>

開發者仍須將 TypeScript 文件聯結到 app 的其它部分,但是當你創建一個新項目時,使用命令行工具往往會幫助你節省時間,并保證構建的一致性。

Platypi 同樣提供它自己的 UI 庫——PlatypusUI。你可以選擇不在項目中使用這個庫,但是它包含了許多自帶樣式的通用控件,還在控制器代碼中提供一些鉤子,值得一試。組件與 web components 的語法類似,熟悉的開發者會很快上手,而習慣編寫及使用自定義 directive 的 Angular 開發者也會感覺非常熟悉。舉個例子,如果我們想要創建一個按鈕:

<plat-button class="button-primary gs-button" plat-tap="register">Register</plat-button>
</div>

這個按鈕在瀏覽器中會渲染成這樣:

<button class="button-primary gs-button plat-button plat-gesture" plat-tap="register" plat-control="plat-button">
    <span>Register</span>
</button>
</div>

點擊按鈕將執行頁面中視圖控制器的 register 方法。

與一些流行的 JavaScript 框架不同,Platypi 通過提供支持合約盈利。最簡單的是免費版,獨立開發者版本的收費標準是每人每月 10 美元,并且每年提供 10 次在 48 小時之內回復的支持請求。此外,Platypi 還為公司提供了咨詢服務,幫助他們構建自己的解決方案,服務包含培訓以及設計工作。

當被問及 Platypi 與 Angular 有何不同時,CEO Matt Landers 回答說:“Angular 不提供客戶支持服務,你需要依賴社區解答你的疑惑,幫助你快速修復 bug,也只有社區才可以升級 Angular,為其發展定向。”關于 Platypi 未來的客戶支持計劃,他說:

如果你編寫了一個需要使用 10 年的庫存管理系統,我們希望可以成為在這 10 年間值得你依賴的合作伙伴。

這個項目通過使用 Apache Cordova 提供跨平臺支持。

Platypi 由三位前微軟工程師共同創建,官方版本在 2015 年 3 月 10 日正式發布。據 Landers 說,他們已經開始集成第三方服務。你可以在他們的 GitHub 上獲取 API 文檔以及公司所有項目的信息。

來自: InfoQ

 本文由用戶 gww3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!