BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Platypi JavaScript Platform Launches

Platypi JavaScript Platform Launches

This item in japanese

Bookmarks

A new JavaScript platform quietly entered the fray in recent months and offers more than just a typical MVC framework. Platypi is built with TypeScript and gives developers a little of the familiar but serves it up with a unique perspective.

The Platypi platform consists of three components: PlatypusTS, PlatypusUI, and PlatypusCLI. PlatypusTS is the core MVC JavaScript framework built with TypeScript. In some ways, it looks very familiar with its view controllers, services, and views.

An interesting piece of the platform's trio is a unique command line tool. When building an app, developers often find themselves writing repetitive boilerplate code just to stand up the shell of a service or controller. PlatypusCLI offers developers the option of letting a generator write that code instead. For example, using the command line, typing:

platypi add service products

will scaffold a new TypeScript file in the correct location with the following boilerplate code filled in:

/// <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;

Developers still need to hook that file into the rest of the app, but using the command line tool is likely to save time when creating a new project and ensure uniformity in construction.

Platypi also offers its own UI library called PlatypusUI. Though the use of the library is optional, it contains a number of common controls that are pre-styled and contain hooks into the controller's code. Developers familiar with web components will notice a similar syntax and Angular developers versed in writing and using custom directives should feel at home. The mechanism by which these components render to the browser is similar. For example, consider a button:

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

This gets rendered in the browser as:

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

Tapping this button will execute the register method in the page's view controller.

Unlike some popular JavaScript frameworks, Platypi makes money and does so by offering support contracts. While there is a free option, an indie developer option starts at $10/month per developer and offers 10 support requests per year with a 48 hour response time. In addition to these options, Platypi offers consulting services to work with companies to build their solutions including training and design work.

Asked about how Platypi compares to Angular, CEO Matt Landers said, "Angular is unsupported. You have to rely on the community to answer questions, provide hot fixes, upgrade, provide direction." Regarding their future support plans, he said:

If you write an inventory management system that needs to be in use for 10 years, we want to be the partner you can rely on to support you during that time.

The project uses Apache Cordova to provide cross platform support.

Platypi was co-founded by three ex-Microsoft engineers and it was officially released on March 10, 2015. According to Landers, they've begun working on integrations with third-party services. API documentation is available and all of the company's projects are available on GitHub.

Rate this Article

Adoption
Style

BT