几个月前,一个新的JavaScript平台Platypi悄然诞生。它为开发者提供的不仅仅是一套标准的MVC框架而已,由于它是基于TypeScript构建的,因此对开发者而言在熟悉之中透露出与众不同的感觉。

Platypi平台包括三个组件:PlatypusTS、PlatypusUI和PlatypusCLI。PlatypusTS是核心的MVC JavaScript框架,基于TypeScript构建。在某种程度上,它的视图控制器-服务-视图(View Controllers、Services、Views)模型看起来似曾相识。

在三个组件交汇的平台中,集成了一个有趣的独立命令行工具。当构建app时,开发者经常会写许多重复的样板代码以生成服务或控制器的骨架。PlatypusCLI为开发者提供了一个可以自动生成样板代码的生成器。例如,在命令行中输入:

platypi add service products

这条指令在适应的目录下创建一个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;

开发者仍须将TypeScript文件联结到app的其它部分,但是当你创建一个新项目时,使用命令行工具往往会帮助你节省时间,并保证构建的一致性。

Platypi同样提供它自己的UI库——PlatypusUI。你可以选择不在项目中使用这个库,但是它包含了许多自带样式的通用控件,还在控制器代码中提供一些钩子,值得一试。组件与web components的语法类似,熟悉的开发者会很快上手,而习惯编写及使用自定义directive的Angular开发者也会感觉非常熟悉。举个例子,如果我们想要创建一个按钮:

<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方法。

与一些流行的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文档以及公司所有项目的信息。

查看英文原文:Platypi JavaScript Platform Launches

JavaScript平台Platypi悄然登场的更多相关文章

  1. ringojs 基于jvm 的javascript 平台试用

    ringojs 是一个基于jvm 的javascript 平台,支持commonjs 模块模式 安装 下载包配置环境变量,或者使用docker,测试使用docker dockerfile deb 包安 ...

  2. 七种武器:JavaScript 新特性闪亮登场

    JavaScript(或ECMA Script) 是一门不断发展的语言,有许多关于如何前进的建议和想法.TC39(技术委员会39)是负责定义JS标准和特性的委员会,今年他们非常活跃.以下是目前处于&q ...

  3. 深入理解 JavaScript,以及 Linux 下的开发调试工具

    前言 JavaScript 是我接触到的第二门编程语言,第一门是 C 语言.然后才是 C++.Java 还有其它一些什么.所以我对 JavaScript 是非常有感情的,毕竟使用它有十多年了.早就想写 ...

  4. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  5. JavaScript学习总结(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  6. JavaScript资源大全中文版(Awesome最新版--转载自张果老师博客)

    JavaScript资源大全中文版(Awesome最新版)   目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框 ...

  7. JavaScript代码模块化的正规方法

    RequireJS-CommonJS-AMD-ES6 Import/Export详解 为什么起了一个这个抽象的名字呢,一下子提了四个名词分别是:RequireJS,CommonJS,AMD,ES6,答 ...

  8. JavaScript资源大全

    目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框架 模板引擎 数据可视化 编辑器 UI 输入 日历 选择 文件上 ...

  9. MEAN-全栈javascript开发框架

    引言 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB.ExpressJS,AngularJS和Node.js越来越受到欢迎,其开发的灵活性和易用性加快开发效率, ...

随机推荐

  1. umask码和文件权限

    umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1 ...

  2. C++在WINdow桌面绘制文字图形

    [起因] 最近碰到一个项目,需要在电脑左面显示一些信息,因此在网上找了一些资料,成功实现在桌面绘制信息. [代码] #include "stdafx.h" #include < ...

  3. shell控制流程

    #!/bin/bash #存储为a.sh == ] then #参数正确,返回0 else #参数错误,返回1 fi #!/bin/bash #存储为b.sh echo $? $ . ./a.sh $ ...

  4. 利用zookeeper生成唯一id

    package com.cxy.com.cxy.curator; import java.util.concurrent.ExecutorService; import java.util.concu ...

  5. Qt 学习之路 2(9):资源文件

    Qt 学习之路 2(9):资源文件  豆子  2012年8月31日  Qt 学习之路 2  62条评论 上一章节中我们介绍了如何使用QAction添加动作.其中,我们使用QIcon加载了一张 png ...

  6. 使用nexus 搭建本地 maven 服务器

    1.下载安装nexus oos https://www.sonatype.com/download-oss-sonatype ,选择2.x 版本. 2. 配置maven <server> ...

  7. composer.json 配置设置

    配置文件的值为 key:val 必须双引号包裹 一.配置文件 名字 name包名称由用户名名称和仓库名称组成包版本限制来请求Monolog软件包 1.0.*.这意味着1.0开发分支中的任何版本,或大于 ...

  8. linux磁盘与文件管理

    一.硬盘的组成与分区 1.物理组成 *圆形的盘片(主要记录数据的部分) *机械手臂与机械手臂上的磁头(可读写盘片上的数据) *主轴马达,可以转动盘片,让机械手臂的磁头在盘片上写数据. *扇区为最小的物 ...

  9. idea(3)-jetty配置

    1.jetty&jdk版本 9.3----->1.8 9.2----->1.7 8------->1.6 2.pom.xml <plugin> <group ...

  10. IIS Express 无法启动

    IIS Express 无法启动1. \.vs\config\applicationhost.config2. 打开.csproject 中把 <UseIIS> 改成 False ---- ...