Road to modern Chevereto: First approach

Rodolfo

Chevereto Developer
Chevereto Staff
Joined
Oct 7, 2008
Messages
16,259
Likes
4,225
Points
237
Location
Chevereto HQ
Website
rodolfoberrios.com
#1
Last weeks, I started some Udemy courses to get an educated opinion on trending new technologies for web development. I'm currently 35% done with some nodejs course, 7% on React and React Native. At this point, I already have a basic background on modern JS (all these uses ES6+).

JS evolved and, the stuff that you can do now with it are just wicked! The debugger and all the tools that you can use now make development way easier and pleasant. The modularity of it is also something that you can't get on PHP, or at least not without doing huge performance sacrifices or awkward workarounds. The response times are similar (bravo php 7.2!) and the thing where php still beats is that the typehint comes as default, doesn't need any extra.

For web, the thing is really solid and React makes HTML interfaces incredible flexible yet easy to maintain. Here I want to note something: React doesn't worry about what you use for the backend so try to don't mix concepts if you are new to this.

I'm also taking a GraphQL course. This is a replacement for REST and it allows you to query the API in a more flexible way. It allows fancy stuff like customize the return values, get different results, etc. For example, it allows you to customize a listing return without touching the backend. This is a superior technology when it comes to using the API and everything that makes the API more easy to use.

And yeah, it has been some busy weeks... I'm also learning TypeScript.

The process has just started and I'm still learning. To test my skills I want to spin some little side project before touching Chevereto. Hope to share more about it in the future.

Wish me good luck!

P.S. I have a new version ready to ship. I'm learning all this while I keep working on the current code. 💪
 

tomsit

Moderator & Chevereto freak
Community Staff
Joined
Nov 25, 2016
Messages
453
Likes
245
Points
125
Location
Norway
Website
freeimage.host
#2
Good luck! :D
 

Rodolfo

Chevereto Developer
Chevereto Staff
Joined
Oct 7, 2008
Messages
16,259
Likes
4,225
Points
237
Location
Chevereto HQ
Website
rodolfoberrios.com
#3
Something that I didn't mention is that the process must happen progressively. The modernization must be carried among several major releases. I always think in the end result and most of the time I omit sharing the steps needed to get there so here it goes:

Note: Work in progress

1. I will start with the API by switching the good old G\ for the flawless Chevereto\Core, which is a framework that I wrote earlier this year. This is an API-first framework which will allow to automatically describe the API and its endpoints. It supports plugins, hooks and filters.

2. Once the API gets its desired form, the UI will be modernized. This process will take lots of time, maybe more than (1) BUT since the API will be already there, you will be totally capable to came up with your own custom UI which won't conflict at all with my new default UI (likely React based). It will also allow you to play around crafting integrations with other services, mobile clients and even desktop applications.

3. At some point (I don't know yet when) the system will be modularized to support third-party plugins and it will be changed to Open Source model.

4. When all the above gets done I will evaluate the need of switching to another backend. If that happens, the process will be also progressive starting with the components that should be improved (if any).

I don't know yet how many major releases this will take, neither I've an idea on update fees or that sort of thing (don't mind asking, I'm not thinking about it).
 

mkerala2

Network license
Beta tester
Joined
Jun 30, 2014
Messages
442
Likes
111
Points
105
#4
Thanks for the updates.

I really liked the idea of a step by step approach rather than all changes in a single major release. Also splitting it over multiple major release could earn you the required funding to keep this project running given Chevereto user base is now saturated.

With the new API in place the community can also build own plugins and mobile apps around it which is long due. I'm also positive on moving towards JS, REACT and all those new technologies.
 

ashkir

Core license
License owner
Joined
Feb 14, 2016
Messages
322
Likes
130
Points
125
#5
Having a strong API makes me very excited :D