几个月前,一个新的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. memcache_helper

    class memcache_helper extends memcache { private $host = "127.0.0.1"; private $port = &quo ...

  2. 设置SQL脚本大小敏感

    1.设置SQL脚本大小写不敏感 USE [master]  GO  ALTER DATABASE [DatabaseName] COLLATE Chinese_PRC_CI_AI  GO 2.设置大S ...

  3. Android自动化----adb shell,appium,uiautomator2

    1.区别 1,adb shell脚本的方式 不但可以在有电脑的情况下使用,通过数据线连接电脑然后adb shell命令,而且还可以打包成app,在手机的终端使用adb shell命令. 2,appiu ...

  4. 记录下自己安装cuda以及cudnn

    之前已经装过一次了,不过没有做记录,现在又要翻一堆博客安装,长点记性,自己记录下. 环境 ubuntu16.04 python2.7 商家送过来时候已经装好了显卡驱动,所以省去了一大麻烦. 剩下的就是 ...

  5. linux中文件压缩与打包

    一.常见的压缩命令 在linux环境中,压缩文件的扩展名大多是*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2,首先我们来介绍以下这些压缩文案的扩展名:. *.Z:compres ...

  6. ZPL通用打印类

    using System;using System.Collections.Generic;using System.IO;using System.Runtime.InteropServices;u ...

  7. sql的几种常用锁简述

    比较全的文章地址保存下:http://www.cnblogs.com/knowledgesea/p/3714417.html SELECT * FROM dbo.AASELECT * FROM dbo ...

  8. idea(2)快捷键

    Ctrl+E:最近编辑文件 Ctrl+J:自动代码快捷 Ctrl+N:查找类 Ctrl+U:大小写转换 Ctrl+F12:outline Alt+1:全屏 Alt+F1:类定位到左侧目录 Alt+In ...

  9. Unable to verify your data submission.加入了_csrf也报400错误的解决

    <input type="hidden" name="_csrf" value="<?=Yii::$app->request-> ...

  10. call and apply

    apply()把参数打包成Array再传入: call()把参数按顺序传入. Math.max.apply(null, [3, 5, 4]); // 5 Math.max.call(null, 3, ...