mean-expert-official / loopback-sdk-builder

Tool for auto-generating Software Development Kits (SDKs) for LoopBack
Other
399 stars 175 forks source link

Final Announcement #561

Open jonathan-casarrubias opened 6 years ago

jonathan-casarrubias commented 6 years ago

Final Announcement

Hello guys, through this final announcement I want to communicate that I'm definitely stopping the support for the FireLoop project and all of the modules related to LoopBack like the SDK Builder.

I know I just published a couple of months ago that I was working on building FireLoop on top of LoopBack 4 again, but after some time, I found that following that path was a really wrong desition and I decided that I need to move on and completely leave LoopBack behind.

Therefore, since I'm leaving LoopBack as my back-end framework choice I'm leaving everything I built for them as well, hoping that these modules remain helping many of you to build applications while using LoopBack and maybe some of you might continue the work by forking my repos and modules that will be kept alive.

Ooooook..... so... What is next?

After having an enormous amount of learnings while building all of those modules, even building a platform composed from other frameworks and some core integration modules.

I have decided to start a new project from scratch, following the same FireLoop spirit but without any ties, that will allow me to literally have the entire control and avoid a bunch of unexpected errors due to the huge amount of the dependencies.

Then why not calling it FireLoop?

Because first of all it won't be built on top of LoopBack, and second because it won't imitate the FireBase API.

The new project is SOA and MSA oriented and is built from scratch with almost zero dependencies and with its own Service Oriented Architecture implementation providing a Remote Call Procedure API for communication between these services.

And for that reason, this new project is unable to be called FireLoop.

Will my current FireLoop apps work on this new Project?

Unfortunately, it won't work on this new project, nor on LB4. And that is one of the reasons I'm starting this new project because I simply must not delegate the stability of my project to others.

This new project... What is going to have in common with FireLoop?

First it is built on TypeScript but now, it will also be compatible with plain JS projects (for those hatin' TS)

Second, it will provide client SDK but this time won't be Angular specific but it will be compatible with any JavaScript front-end framework (React, Angular, Vue, Stencil, etc), even in plain JavaScript projects.

Will it continue using http/rest and socket.io/websocket as transportation?

I'm also leaving socket.io and rest, this new project is being built using the latest technology features like async/await, WebWorkers, EventStreams and HTTP2 using gRPC.

Is this new project an actual MicroServices platform or just another REST API Services framework

Of course, this is a true SOA project, each app / service runs on separated processes and communication between these services and clients can be done through the provided Remote Procedure Call (RPC) API.

Therefore if any of your apps crash, the rest of the loaded applications will remain up and running, then the server will try to start your crashed app again.

It sounds like there is already some progress with this.

Yes, that is the reason I'm publishing this final announcement.

When can we know more details?

FireLoop is done from now and so on, no more details will be communicated on that.

About the new project, we already have a very good progress and we even have a name, but will be posting details about it once we do some branding.

Thanks to all for your support on this project. I don't really want to say that this project is dead.

It is just a re-born as a new project but now with its own personality.

Cheers Jon

mrbatista commented 6 years ago

@jonathan-casarrubias Thank you for this plugin. I understand that your priority is to build a new platform, but it is also important to support the current users/applications that use this plugin in production environment. Why don't you open a call for mainteners? I'm available for this role.

jonathan-casarrubias commented 6 years ago

@mrbatista thanks for reaching out.

Hey so yes I want to clarify that none of the modules I maintain related to LoopBack will be turned off or down.

I’m just not personally improving, fixing, nor extend these unless is strictly necessary.

But I’m in total disposition to receive PRs, integrate these and publish new versions of this module. Like the one you sent that is pending.

I’m just giving some time since I was told that maybe during the following weekend a new PR that integrates the new http module might be sent.

Said that I appreciated your support and availability to maintain this plugin and any other PR that you or the community send I’ll be glad to integrate it and deploy.

https://github.com/mean-expert-official/loopback-sdk-builder/issues/497

Cheers Jon

pierfreeman commented 6 years ago

Hi Jon, thanks for this announcements.

Is there any chance that this project will be carried on directly by the Loopback team (similar to the AngularJS builder)?

jonathan-casarrubias commented 6 years ago

@pierfreeman thanks for reaching out, hey so I don’t think that will happen. I used to have direct communication with them prior this decision and I know they are in the position that they want the community not only to build an maintain the new extensions, but they are also expecting the community to fix their core modules issues as well.

They say that they have a limited team and are unable to maintain their own modules, therefore I see really difficult they would maintain this one.

Said that I want to keep clarifying that if the community keep sending PRs to this REPO I would be glad to integrate and publish those patches.

So this module can remain living as long as the community keeps it alive.

Cheers Jon

jmls commented 6 years ago

are you going to let us know what the new project is ? :)

jonathan-casarrubias commented 6 years ago

@jmls thanks for reaching out,

Hey so of course, I have no problem with that... It still is in a really early stage, but I think there is already enough to start looking at

https://github.com/onixjs

I won't be actually writing about it or showing it off until we reach beta, but anyone interested in looking around and even contribute, you guys are very welcome.

jonathan-casarrubias commented 6 years ago

Hi Guys, anyone interested in the new project I'm starting to document it for you to start playing with it.

I really regret I didn't start FireLoop from scratch instead of building it on top of LoopBack as I did, but that helped many of you know this project and me to learn a lot of lessons, so I hope that now that I'm free to architect as I consider is best, I'm really hoping you guys to give it a chance and maybe consider to migrate when the framework is ready.

Also, since OnixJS is compatible with any DataSource, so you guys are free to install the LoopBack DataSource Juggler and easily migrate to OnixJS.

With the current information I have I'm able to assume that it will be easier to migrate from FireLoop -> OnixJS than LB3 -> LB4.

Regards, Jon

https://github.com/onixjs/core/wiki https://github.com/onixjs/examples

pbouda commented 6 years ago

oh, that's a pitty to hear, but it sounds like an interesting new project :)

I am still very interested in getting sth similar to this SDK in LB4. For me personally I would just use the basic models and services, not even the real-time communication (for now), and I work mainly with Angular. Maybe there are more interested people? @JonnyBGod, do you have any plans for LB4?

JonnyBGod commented 6 years ago

@pbouda I have yet to find some time to better analyse LB4 situation and other possible routes before making a final decision on what framework well we be focusing next. But even if I end up parting with LB4, I can try to help you porting sdk builder to LB4.

Also there was some work done by @jonathan-casarrubias at https://github.com/mean-expert-official/openapi-sdk-builder

jonathan-casarrubias commented 6 years ago

@pbouda yes I'm very sorry that I needed to take this decision.

I hope you guys to eventually take the chance to see how the new project is looking... You can even use the LoopBack's DataSource Juggler, so can you feel you are in LoopBack but with the best communication.

Now that I entirely control the core, now I can really say that I will provide the community with a great new framework and I do honestly believe that in the future you might even consider migrating to this OnixJS... But is to early to say that, in the meanwhile....

If anyone "curious" is around, I just published a demo project with clients on Angular 5 and React. (More demos to come)

https://github.com/onixjs/examples

Cheers Jon

villegasrfael commented 6 years ago

@ jonathan-casarrubias I am very sorry that you have made this decision, and I wish you the best success in the future. To our team this means a tremendous impact, since we keep several applications in production using your SDK generator. this is why I have to ask you what will happen with this development? Is there someone who will take control of this?, since I saw new releases and patches that were updated a couple of days ago.

jonathan-casarrubias commented 6 years ago

@villegasrfael don’t worry about this being unsupported I just personally won’t improve or extend the mean expert modules but I’m taking the time to integrate any community contribution, that will continue to happen as long as the community keeps sending patches.

Cheers Jon