v1.0.0 - June Release 2019

After 2 years of hard working, we're excited to announce the first v1 of Materia Designer and Materia Server !

Materia is a development platform that let you build powerful web and mobile applications. In one side, there is Materia Designer, a desktop application that provide all the tools to develop and manage your applications and in the other side, there is Materia Server, the server that host your application and provide the API to Materia Designer to manage your application.

Some of the key highlights of this release include:

  • Full rework of the UI with the migration to Angular (v7)
  • Materia Server - Admin REST API
  • Instant live mode to access your production server
  • Handling virtual entities (entity that don't rely on the database (e.g. REST API))
  • Handling hooks
  • Using Monaco editor as default internal editor
  • Handling Websocket endpoint
  • Allow cloning GIT repository to create app from existing source
  • Generating boiletplate in 1 click: Angular / React / Vue.js
  • Colorized terminal output
  • Handling dependencies installation

Migration from Angularjs to Angular (v7)

To get a more professional interface, we've upgraded our interface from AngularJS to Angular (v7) which a task lots longer than what we could imagine. We had to rethink totally our interface to get the improvement that we have today: Smooth interface with more predictable interactions.

screen-entities

Materia Server - Admin REST API

Instead of using Materia Server as a Node.js library, Materia Server now expose an admin REST API that allows Materia Designer to manage your application. This admin API is protected with a root password you have to define. For the curious, the Admin API is described here: https://materiahq.github.io/materia-server/

Instant live mode to access your production server

Before this release, accessing your production server was long as it required to clone a copy of your repository and your computer needed to have a direct access to the production database. Now, thanks the Admin REST API, you can access any Materia application in Materia Designer using its URL and its root password,

live-mode

You can execute a query or an endpoint directly on your production server, it can be particularly helpful to administrate your application.

Handling Virtual Entities

Materia Designer now supports Virtual Entities which are entities that does not rely on the database like a file in your file system or an external REST API (e.g. twitter API). A Virtual Entities defines multiple javascript query that can be called in your API like normal queries. This step is important to allow addons like Stripe or Mailjet to work optimally.

virtual entity

Handling Hooks

Hooks are a new powerful way to chain actions on a specific event. A hook can be attached to a query or an endpoint before or after executing it. It allows you to for instance send an automatic email with a specific action or log something on your server etc...

Improvement of the internal editors - Monaco editor

Monaco editor is now used as the internal code editor to edit your files and to display diff between your files and the last files in your last commits. This is the editor that powers VS Code.

editor

To achieve this, we're using our own Angular library @materia-ui/ngx-monaco-editor, which works in electron and in the browser. You're free to use it for your project if you wish: https://github.com/materiahq/ngx-monaco-editor.

Handling Websocket endpoint

You can now define Websocket endpoint in your Materia application. It allows realtime communication between your server and your client.

realtime

Generating boiletplate in 1 click

Bootstrap your front-end client in 1 click with our boilerplates ready-to-use for Angular, React, Vue.

boiletplates

After the install process, your client is ready:

frontend-boilerplate

Creating new application from Git Repository

Materia Designer now allows you to choose between creating an application from your File system and creating an application from a Git repository. It makes it really easy to start your application with an example available on Github.

image

Dependencies installation

When you application's dependencies are not installed, Materia designer install them for you at startup and build your client if you have defined one. This process ensure your application is fully working the first time your start it.

initialization

Colorizing terminal output

term-color