📜 ⬆️ ⬇️

CUBA Platform: Roadmap 2018

As I promised in the last post , I am pleased to present the Platform’s development plan for this year. This is a strategic plan, in which we have included only major changes, but there will certainly be hundreds of minor improvements.


Disclaimer: This plan is not a dogma, and we will surely realize something above it, but we will postpone something on the contrary. However, in general, we are going to adhere to this plan, and suggest that the development community on the CUBA Platform also be oriented towards it.


Teaser: CUBA Studio will be built into IntelliJ IDEA!


So let's go!




First quarter


Most of the quarter has already passed, so look back: we have released Electron-based Studio Standalone Edition , as well as Release 6.8.

For the rest of the month we are going to launch the marketplace on our website. It will become a public section for the exchange of add-ons written by us and any other community member. This important event gives rise to a new ecosystem around the CUBA Platform, allowing developers to increase the functionality of their applications with a minimum of effort.

Technically, most add-ons will be available as application components , so to add them to the project it will be enough to copy the Maven coordinates in Studio.
')

To begin with, we will put together the already released add-ons that are currently available on GitHub:



We also know that some community members are ready to publish their components, so the list should grow!

Second quarter


Studio is waiting for the following improvements:



New add-ons will be published:



Polymer UI



Third quarter


Major changes will be presented in the Platform Beta and Studio 7.


Platform 7 Beta


The main focus is on updating the stack: we are switching to Vaadin 8 and implementing Platform compatibility with Java 9.

We all know how difficult it is to update the stack in already running corporate applications. At CUBA, we do for you the bulk of the work associated with the update. Of course, migration to the new major version of the platform cannot be completely seamless, but it is still much easier than updating the entire technology stack manually.

Another major change is the emergence of a new API and data layer for the UI. The CUBA platform picked up the trend for an event-driven architecture: new lightweight screen controllers with annotated methods for handling events will make your code cleaner and more convenient for testing. A typed API to open screens will eliminate the need for type casting.

A new presentation layer of data will replace the datasor mechanism. This should solve many current problems, including an opaque API in places, and limited interaction between the viewing and editing screens.

Other important changes:



From the point of view of Polymer UI:



Studio 7 Beta


We turn to the most interesting. Starting from version 7, Studio will be built as a plugin in the free IntelliJ IDEA Community Edition! All existing functionality, including the WYSIWYG editor, will be retained, but now it will add the ability to fully work with the source code.

We understand that this is quite a radical step, but we still came to the conclusion that it is necessary. First, these changes will dramatically increase the usability of the Studio. Developers no longer have to jump from Studio to IDE and back.

Secondly, IntelliJ's source code tools offer tremendous opportunities for automating platform-specific tasks, including code generation. As an example, in the future we will be able to implement full support for Kotlin.

In addition, IntelliJ IDEA is now the most popular Java IDE in the world, and in our opinion - the best. The fact that Eclipse lost another 8% of its market share in 2017 only reinforces this conviction.

Finally, IntelliJ Community Edition is free, and therefore this change will have no financial impact on Studio users. We hope that for many Eclipse users, changing the IDE will be easy and will bring even more benefits than just a new Studio. And for those who remain faithful to their IDE, CLI will come to the rescue (see later).

For which many developers love CUBA Studio, this is an easy start. Here we will not look for a compromise: we are going to create a separate version of IntelliJ with the CUBA Studio plugin and the launch assistant. This version can be downloaded from our site just like now Studio.

CLI Development


As you know, the CUBA Platform is an open source framework, while CUBA Studio is a commercially subscribed tool. Now, if you want to create projects on CUBA for free, we recommend starting development of a new project in the free version of CUBA Studio, and when you reach the limit of 10 entities, go completely to IDE.

And although in practice this approach is quite convenient, it cannot be called 100% open source. Just downloading the framework from GitHub and starting a new project on it is not a trivial task.

To get around this, we create an open source, lightweight and IDE-independent tool with a CLI (command line interface). This tool allows you to quickly generate project infrastructure, entities, CRUD screens, etc., as well as create and build your own teams.

So we will give developers a choice:



New addons



Fourth quarter


The final releases of the Platform and Studio 7 are released.


In the ever-changing world of JavaScript frameworks, it would be short-sighted to bet on only one of them. Therefore, the web portal team plans to support alternative front-end clients, such as React and Angular, on top of the universal kernel, so that you can choose any front-end.


Again, as with Studio vs CLI, developers will have a choice:



You can effectively combine these two approaches in one application, for example, build a public portal on anything, and then as soon as possible add an admin to it based on the standard Vaadin UI. That is exactly what we did when creating a store and personal account on www.cuba-platform.com .


New addons


Here the main change is the new BPM. In short, we want to implement the full integration of CUBA with the BPM engine so that the solution of most of the tasks does not require writing code at all or requires it to a minimum. This requires integration with the CUBA data model, its UI, services, and security subsystem, including:

and much more!


Other add-ons will be released:



Conclusion


We have planned a lot of positive changes for this year: updating the stack, simplifying the work with the framework, new tools for developer convenience - Studio and CLI, an impressive extension of the platform functionality through the add-on ecosystem.
We invite members of our community to help us on this way by pulling requests to the platform code, as well as adding addons to the marketplace.

Source: https://habr.com/ru/post/351204/


All Articles