JavaScript平台Platypi悄然登场
几个月前,一个新的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悄然登场的更多相关文章
- ringojs 基于jvm 的javascript 平台试用
ringojs 是一个基于jvm 的javascript 平台,支持commonjs 模块模式 安装 下载包配置环境变量,或者使用docker,测试使用docker dockerfile deb 包安 ...
- 七种武器:JavaScript 新特性闪亮登场
JavaScript(或ECMA Script) 是一门不断发展的语言,有许多关于如何前进的建议和想法.TC39(技术委员会39)是负责定义JS标准和特性的委员会,今年他们非常活跃.以下是目前处于&q ...
- 深入理解 JavaScript,以及 Linux 下的开发调试工具
前言 JavaScript 是我接触到的第二门编程语言,第一门是 C 语言.然后才是 C++.Java 还有其它一些什么.所以我对 JavaScript 是非常有感情的,毕竟使用它有十多年了.早就想写 ...
- JavaScript学习笔记(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- JavaScript学习总结(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- JavaScript资源大全中文版(Awesome最新版--转载自张果老师博客)
JavaScript资源大全中文版(Awesome最新版) 目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框 ...
- JavaScript代码模块化的正规方法
RequireJS-CommonJS-AMD-ES6 Import/Export详解 为什么起了一个这个抽象的名字呢,一下子提了四个名词分别是:RequireJS,CommonJS,AMD,ES6,答 ...
- JavaScript资源大全
目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框架 模板引擎 数据可视化 编辑器 UI 输入 日历 选择 文件上 ...
- MEAN-全栈javascript开发框架
引言 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB.ExpressJS,AngularJS和Node.js越来越受到欢迎,其开发的灵活性和易用性加快开发效率, ...
随机推荐
- 实验吧之Canon
解压zip文件得到一个mp3文件和一个zip压缩包,解压需要密码,那密码就在mp3里面,使用MO3Stego好像不能解析出文本,说明解析需要密码,此时通过网上的讨论说标题Canon就是密码,就试着用了 ...
- 使用Mybatis-plus发生org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
容我慢慢说来,之前是使用springboot+mybatis.我一直采用xml配置文件写sql. 后来采用了mybatis-plus之后,在本地上面测试没有一点问题.一放到服务器就发生这种情况 在本地 ...
- git学习--远程分支删除
查看远程分支 git branch -r 使用下面两条命令来删除远程分支 git branch -r -d origin/branch-name git push origin :branch-na ...
- js遍历table和gridview
//遍历table var tableObj = document.getElementById("tableName");var str = "";for(v ...
- Install ElasticSearch plugin for head
git clone git://github.com/mobz/elasticsearch-head.git yum install git npm cd elasticsearch-head npm ...
- Autel MaxiSys Pro Description
Autel MaxiSys pro MS908P is an evolutionary smart solution for specialized automotive diagnosis and ...
- uva 442
#include<iostream>#include<stack>#include<map>using namespace std;struct node{ int ...
- MySQL之prepare用法
MySQL官方将prepare.execute.deallocate统称为PREPARE STATEMENT,习惯称其为[预处理语句],下面是对其详细的介绍. 示例代码 PREPARE stmt_na ...
- Java升级替换java version "1.5.0"
首先进行java安装 http://www.cnblogs.com/someone9/p/8670585.html 2. 然后查看版本信息,仍然是1.5.0 [root@OKC java]# java ...
- thinkphp的初步认识
框架的意义减少重复劳动便于团队配合增强安全性工作/面试都需要 为什么学习ThinkPHP国内公司用的多框架基本都是MVC架构,学一则通 一.框架的部署 1.1下载tp官网 http://www.thi ...