几个月前,一个新的JavaScript平台Platypi悄然诞生。它为开发者提供的不单单是一套标准的MVC框架而已,因为它是基于TypeScript构建的,所以对开发者而言在熟悉之中透露出不同凡响的感受。javascript
Platypi平台包括三个组件:PlatypusTS、PlatypusUI和PlatypusCLI。PlatypusTS是核心的MVC JavaScript框架,基于TypeScript构建。在某种程度上,它的视图控制器-服务-视图(View Controllers、Services、Views)模型看起来似曾相识。java
在三个组件交汇的平台中,集成了一个有趣的独立命令行工具。当构建app时,开发者常常会写许多重复的样板代码以生成服务或控制器的骨架。PlatypusCLI为开发者提供了一个能够自动生成样板代码的生成器。例如,在命令行中输入:git
platypi add service productsgithub
这条指令在适应的目录下建立一个TypeScript文件基本结构,包含如下代码:web
/// <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;
开发者仍须将TypeScript文件联结到app的其它部分,可是当你建立一个新项目时,使用命令行工具每每会帮助你节省时间,并保证构建的一致性。apache
Platypi一样提供它本身的UI库——PlatypusUI。你能够选择不在项目中使用这个库,可是它包含了许多自带样式的通用控件,还在控制器代码中提供一些钩子,值得一试。组件与web components的语法相似,熟悉的开发者会很快上手,而习惯编写及使用自定义directive的Angular开发者也会感受很是熟悉。举个例子,若是咱们想要建立一个按钮:api
<plat-button class="button-primary gs-button" plat-tap="register">Register</plat-button>
这个按钮在浏览器中会渲染成这样:浏览器
<button class="button-primary gs-button plat-button plat-gesture" plat-tap="register" plat-control="plat-button"> <span>Register</span> </button>
点击按钮将执行页面中视图控制器的register方法。mvc
与一些流行的JavaScript框架不一样,Platypi经过提供支持合约盈利。最简单的是免费版,独立开发者版本的收费标准是每人每个月10美圆,而且每一年提供10次在48小时以内回复的支持请求。此外,Platypi还为公司提供了咨询服务,帮助他们构建本身的解决方案,服务包含培训以及设计工做。app
当被问及Platypi与Angular有何不一样时,CEO Matt Landers回答说:“Angular不提供客户支持服务,你须要依赖社区解答你的疑惑,帮助你快速修复bug,也只有社区才能够升级Angular, 为其发展定向。”关于Platypi将来的客户支持计划,他说:
若是你编写了一个须要使用10年的库存管理系统,咱们但愿能够成为在这10年间值得你依赖的合做伙伴。
这个项目经过使用Apache Cordova提供跨平台支持。
Platypi由三位前微软工程师共同建立,官方版本在2015年3月10日正式发布。据Landers说,他们已经开始集成第三方服务。你能够在他们的GitHub上获取API文档以及公司全部项目的信息。