New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The future of Strapi - IMPORTANT #126
Comments
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
@benjaminjs, @suhaboncukcu and @eikaramba: thank you for your feedback.
|
@pierreburgy If i had to choose, it would be indeed admin panel integration. Also maybe an abstraction of the API to make it even more simpler(tbh it is quite easy already, but it's a long time since i used it manualy. Nowadays i'm using a complete shop solution so that i don't need to interact with stripe anymore). Sure enough the integration with the user db would be nice then. |
@eikaramba This our way of thinking too! The admin panel should be an abstraction layer of interfaces. It should allow you to easily manage and display your metrics in only one and unique interface. If you need to do some granular research or analysis, you could go on the dedicated interface offered by the third-party service. To achieve this goal, we have to fill our marketplace with a lot of plugins with basic features (ex: users & group, media library, upload) and third-party integrations (ex: Stripe, Mailchimp, AWS, Slack, and much more). |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
First of, I am not an actual Strapi user, but I was looking at this project, wanted to know if you supported Koa2, then saw this. As a potential new user, here are my comments and expectations on the future of such project : 1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? Edit : PM2 already offers great metrics tools, why re-inventing the wheel? A proper integration would be better IMO. |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
👍 for @dj-hedgehog comment, enforce the |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
@junland: I love your last proposal! This really sounds like Treeline, Zappier or Flows (Stamplay). However, we also want to be able to offer chainable actions. Our ecosystem will be built around plugins and APIs, IMHO this kind of feature is a "must-have". |
Hi guys, I looked into Strapi and looks promising. I'm sure you already decided about plugins to start with. I would like to suggest MarkoJS (with Marko Widgets) for front-end. Have been using it for a while now and found it much easier and performant vs vue or react, especially on dynamic projects where you need to load templates on the fly. Have a read at least. You might want to have a look at LassoJS for bundling. I would also go with Koa since it has a good community, extendable, works well with MarkoJS and ... generators :) In any case, keep up the good work. I would become a subscriber if any SaaS provided will be reasonable priced. Cheers! |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
@shanexie: We are so sorry for our lack of communication the few last months. We have been very busy. We are fully dedicated to Strapi from now. Our vision is well defined, and we know where we want to go! Strapi will not be a framework. Strapi will be a Content Management Framework. A great and easy tool to manage and synchronize your content (data, media) on multi-devices through an API. This new way of thinking does not change a lot of things for you, there will still have a framework, and an extensible administration panel. But we are thinking as an ecosystem where everything will be plugin. I'm very surprised that nobody quoted Hapi as the framework to use. I really like the approach, it could be very interesting with our future plugins. |
Thanks to all of you for your answers. They help us a lot to make decisions. Here are some of our current thoughts for the future of Strapi:
If you have any question or suggestion concerning these choices, feel free to answer to this issue. Looking forward to see your reactions. |
Awesome, I'm happy with the plan (just don't forget to release alpha ASAP). I'm against Mongoose as default ORM but as long as there's still a viable path to use SQL databases with Strapi's models I'm fine with that. Could you please extract the current Bookshelf ORM into its own repository as soon as it's pluggable into Strapi? Also one more question: Will you release Strapi v2 with Koa v1 and switch to v2 as soon as all middlewares are compatible? I see some confusion arising on the user-side if you go with v1 first and then migrate to v2. On the other hand according to #41 there are still a lot of middlewares which aren't updated (we could migrate the missing 8 manually though as they're rather simple). |
We are going to release Strapi v2 alpha asap. Bookshelf ORM will be published on a separated repository. Strapi v2 will be released with Koa V1: Koa v2 is no mature enough yet. |
@Aurelsicoko So is Strapi going to be Django in that's more like a CMS but yet can still be used for web applications outside of CMS? I'd also like to add I love the easy directory structure of Sails and I would like that Strapi keeps that paradigm. So with this new direction would it still be possible to use Strapi without the CMS aspect? Could have it where I think Sails or Featherjs has a command line that you can specify |
@junland: Strapi will never be a CMS. Our framework layer is very important. This layer gives the flexibility that every web project need. That's why, we think that the Content Management Framework is a better acronym for us. The directory structure will not change. However, we will add a new The |
@Aurelsicoko Alright, thanks for clarifying. Sounds good, I look forward to v2. :) |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
adios strapi! 👋 |
2. What Node.js framework would you use: Hapi vs Koa2? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? |
Thank you @cupofnestor, as you can see in our blog (http://blog.strapi.io/inside-the-box-july-2016/ and http://blog.strapi.io/inside-the-box-september-2016/), we are finally going with React and Koa. Thanks for your contribution. |
Complementing what @ivan-saorin said, using Svelte (svelte/svelte) is the clear approach from now on to build front-end apps. |
@ivan-saorin Thanks for sharing your opinion! Did you suggest that the dashboard should be able to work with React and others? Currently, the main issue is that a React Component is not compatible with an Inferno Component for example. That's why I believe that the Web Component Standard will solve the problem. IMHO, we should be patient instead of trying to create a new kind of abstraction layer to be able to work with any framework... @paulocoghi Thanks for the link! What are the main differences with UI library like React, Preact, Inferno? |
@Aurelsicoko There are many (like code splitting), but for me these 2 are the most interesting: 1. Every component becomes an independent vanilla JS module 2. Interoperability |
@Aurelsicoko IMO it is even worst. Not only choosing a specific framework impose that specific framework to the entire application. But, and this is in my opinion more important, major version of the same framework are often incompatible (e.g. Angular 1.x and Angular 2.x). @paulocoghi the idea behind Svelte is promising. Sadly I didn't have the time to take a real look at it, yet. |
@paulocoghi @ivan-saorin Thanks for your answers! I'm sorry for the delay. We were very busy last two weeks. But anyway, I really like your attention and vision here. You're perfectly right! The main possible issue will be the compatibility and the migration to the next version of React in the future. However, the pursuit of performance has no end, and this is not an argument for switching to a framework to another one. React provides great performances until proof of the contrary. Svelte looks promising and what I like the most is the vanilla JS module compilation. In our case, we have to consider two others things:
React is more attractive than Svelte. There are a lot of resources and tutorials and most of the frontend developers are using it. So, React is the winner and that's why we have chosen it. From a developer perspective, I know this is not optimal but unfortunately, we have to make hard choices. We can't have the best design, the most performant framework and also continuing to move forward. The most obvious example is RethinkDB. If you didn't read this, you should. Currently, React is the best choice for us, IMHO. We can ship new features quickly, the community is active, it works well and that's sufficient for now. |
I can see your points :)
2017-01-24 23:17 GMT+01:00 Aurélien GEORGET <notifications@github.com>:
… @paulocoghi <https://github.com/paulocoghi> @ivan-saorin
<https://github.com/ivan-saorin> Thanks for your answers! I'm sorry for
the delay. We were very busy last two weeks. But anyway, I really like your
attention and vision here. You're perfectly right! The main possible issue
will be the compatibility and the migration to the next version of React in
the future. However, the pursuit of performance has no end, and this is not
an argument for switching to a framework to another one. React provides
great performances until proof of the contrary. Svelte looks promising and
what I like the most is the vanilla JS module compilation.
In our case, we have to consider two others things:
- Have an easy-to-setup and easy-to-use solution.
- Attract new contributors.
React is more attractive than Svelte. There are a lot of resources and
tutorials and most of the frontend developers are using it. So, React is
the winner and that's why we have chosen it.
From a developer perspective, I know this is not optimal but
unfortunately, we have to make hard choices. We can't have the best design,
the most performant framework and also continuing to move forward. The most
obvious example is RethinkDB. If you didn't read this
<http://www.defstartup.org/2017/01/18/why-rethinkdb-failed.html>, you
should. Currently, React is the best choice for us, IMHO. We can ship new
features quickly, the community is active, it works well and that's
sufficient for now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#126 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABwwQQwOLfKIdsnBRG1Saddxy80QSFKcks5rVnhogaJpZM4ItoSO>
.
|
good idea @ivan-saorin |
1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
Sorry to come so late to this discussion. Hope my comments are still useful. 1. What do you think about this new vision? This could also be combined with a different SaaS model for simple use cases like basic CMSs, like what Contentful or GraphCMS do (websites still power most of the web), but with the added benefit that the software is still Open Source (so that there's no vendor lock-in involved) and that developers could still create applications on top of it. The studio is already great for lowering the entry barrier for non devs, so it still makes sense to have a SaaS model hosting both the studio and the backend for the less savvy users (those who would just consume the APIs). 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
Since this issue is still open I will respond the questionnaire. 1. What do you think about this new vision? 2. What Node.js framework would you use: Hapi vs Koa2? 3. What downloadable plugins would you like first? 4. What SaaS plugins would you like first? 5. What front-end framework should we use for the extendable admin panel: 6. How can you contribute? 7. Do you have any other suggestion? |
|
@chiqui3d the core members chose to go with React for the admin |
@soupette is there any specific reason why the core members choose to go for React JS? |
Guys at least build a Vuejs front-end it's the in thing and simpler to work with |
@emahuni I think that ship has sailed. |
the fact that strapi is using react for its admin panel is a huge bummer. not only is vuejs currently getting more traction than react, but its also easier to get into, faster to build interfaces with and promotes cleaner javascript in my opinion at least. (i've found react to be unnecessarily complicated for the simplest things like class binding, or conditionals, for no apparent reason) would there be interest in offering a choice for the admin panel? maybe we (the community) could build a vuejs implementation of the admin interface and have it as a selection in the installer. |
@kitsunekyo I think at this point the choice is locked in, of course a fork can always be made to replace the react admin panel with vue.js. I'm sure the Strapi team had their reasons to use react instead. Right now they are all quite busy with bug fixes and critical feature additions, I'm sure if someone wanted to start working on it, they might be able to look at it later. For now the best choice would be to fork the project and see if it can be done. |
There is the common term "I never got fired for buying IBM" which states react is an industry standard, its far easier to find current examples and additions for react then vue right now. I'm sure that will change in the future but Strapi was started back in 2015 and the recent version (v3) I believe started back in 2016 (based on this thread) Naturally the choice of language is always going to be subjective, if the strapi team were well versed in react it makes little sense for them to start working in Vue if they didn't know it right away in order to get a MVP up and ready. Unlike most of us the Strapi team do this as a job, thus their income is solely based on getting a product out the door. Most of us use and or provide our knowledge on our free time. |
what you are saying is very true guys, but I am not saying completely remove or replace the react implementation. What I am saying is provide an option. You see this project started a long time ago, but it's not yet done. Don't you think that the reason might be the unnecessary complexity of the tools being used? For example, I used to work with php and smarty templates a lot, had many projects some that are being used by medical organisations at the moment. But developing simplest things such as websockets, speed improvements and changing of views and the like was a huge pain coz I was using very old tech which i was saying it's what I know and trying to learn something new to improve speed of production was a waste of time. But boy was i wrong. I learnt about VueJS thru Laravel I quickly changed my mind since things i wanted to do were much more direct and simpler. I then noticed that I was bobbing back and forth between js (for vuejs) and php(for laravel) then decided to go all js. Then came in Node. Boy was I in for a surprise. Things got even simpler. My point is that the speed at which i now develop has tremendously improved thanks to simpler well thought thru implementations such as vuejs. I have noticed the same with Strapi coz i want it for a backend. I was using feathersJs, but i think strapi is much simpler to reason about though the community around feathers is greater etc. There are a lot of things Strapi has that feathers cannot be, though the main punch is simplicity. Strapi is more of a Vue's cousin. Take a look at feathersjs and compare it with Strapi. they more or less do nearly the same thing. however, Strapi is very very simple to work with, regardless of the admin end. it's actually cleaner than feathers which boasts simplicity. If an admin panel is built around vuejs, then vuejs community followers can flock to Strapi for this very reason I am putting across here. What's happening here is a clean coded backend and a clean coded frontend. That's more powerful and faster to maintain and build rather than using React... it's tooooo complex to reason about and when you have bugs they are a huge headache and time consuming to solve, which is the situation the team might be finding itself in. ...and yes you can be fired for buying an "IBM" especially if it's counter-productive. If the one who is supposed to fire you doesn't, then they need to be fired. instead of cursing the darkness, light the candle... |
@derrickmehaffy nobody is questioning react as the choice of the core devs. react is insanely powerful but I feel like the binding to react while marketing strapi as "frontend agnostic" could hurt the volume of people actively participating in the strapi development / community in the long run. my sole question was whether an OPTIONAL vuejs implementation of the admin backend would be something that could be considered to move into the core, once fully stable. not to replace react in any form. strapi is marketed as "Front-end agnostic", (thats even a selling point on the landingpage) but whats the point of making the data consumption layer frontend agnostic but not the admin panel. thats where the biggest complexity lies for most of the people that will be implementing strapi on their production tools. I would love to use strapi in our (Fortune 500) company and pay for a license, but will certainly not if all of my devs that will be working with it are mostly experienced in VueJS and have had no points of contact with ReactJs. Then I anway have to build the dashboard myself, and a lot of other teams will probably do the same. |
@kitsunekyo that is very true. I think we will also need an angular implementation as well with time. The biggest selling point here is framework agnostic, which can actually mean a lot to see many implementations of the frontend. Anyway, that's what communities are for. Someone has to do it. |
Very interesting discussion... but I think most of you are missing that we're building an ecosystem. It means that our goal is to provide hundreds of plugins to the community. Each plugin has its own front-end. Do you imagine that every plugin's developer should develop the back-end and three different implementations of the front-end (React, Vue, Angular) part (admin)? The community could help but it means that the ecosystem won't be equal if you're using React, Vue or Angular. It would also drastically reduce the growth of the ecosystem. I really like the idea but it seems almost impossible to implement or it implies that the full ecosystem will be available with React and the implementation would be partial for the others front-end frameworks Vue & Angular. |
Also, I read that some of you think we started the project is 2016. It's true but we are really working on it since July 2017 (~11 months). React isn't the reason why it takes so much time to build Strapi. We're facing many challenges which aren't all related to the development part. This year, we structured the company, we improved our workflow to manage the community and release new features, and we were also very busy at something that will be revealed soon! PS: We're hiring, feel free to take a look at our open positions |
Oh my, then that puts a hard limit on on the agnosticity of Strapi. I think i need to go thru the whole code base. My thinking was the plugins implement an api like system with a frontend made for each frontend framework. If that is the case, what i just said then implementing multiple front ends will just be a cinche. I am actually thinking of using vuetify or Quasar as the components lib for something like this. If you notice, it's very very simple to get an admin panel running. Please just have a look at these things, it's so simple. I am sure you will see that twitter bootstrap is very complex 😂 to work with than ready vue components such as Quasar or Vuetify. |
@emahuni Don't get me wrong I too would love to see a Vue admin panel, but the Strapi team picked react for a reason. Also the ibm thing is a joke lmfao. We have a similar one in the networking field, you say "Cisco" in a meeting about buying equipment and no one will say no (even though I can't stand Cisco gear). My point is here, if you think it can be done better, please do! There is nothing saying it can't be built and shown to the Strapi team! This is why open source is such a great concept, everyone can voice their opinions and show off changes. But what I don't like to see is dragging down the Strapi guys for picking one language or another, all programming is subjective. There are a million ways to do something and the Strapi guys work extremely hard, especially lately. They have a ton of stuff going on other than just putting code out, thus I can see why they wouldn't want to fracture their focus on completely rebuilding what they have spent the ~ past year on. Let's see what a Vue admin panel can do! |
I would suggest Vue JS for the front end too, due to its superior DX and extend-ability, react is great but it keeps reinventing itself because it can't fit all use cases, it has a simple to use API which would make extending the Strapi admin much easier! Just my opinion :) |
Totally agree about bootstrap being complicated, however I've always liked the grid system and spacing classes, they are so good, however creating an abstraction through components is always a bonus ! |
The future of Strapi - IMPORTANT
As you have probably seen in this article: http://strapi.io/blog/the-future-of-strapi, Strapi is about to change a lot.
That’s why you need, more than ever, your point of view.
Please answer the following questions, by copy-pasting the block of text below:
In order to take the final decisions concerning the technical choices, we will probably create Twitter surveys in the next few weeks. In the meantime, we look forward to see what you have in mind.
The text was updated successfully, but these errors were encountered: