These past few months we've focused on Reactive apps, which follow the app.jl+app.jl.html structure. However, there's also the webservices and MVC structures. They're fairly different since reactive apps are based around the @app block, and the others rely on a main routes.jl, controllers, views, and models.
What should we introduce users to first? This would depend on what they're trying to do:
A dashbod --> reactive app
An API --> webservice
A simple static site --> webservice
Anything with models and databases --> MVC, perhaps MVC+reactive
We need to be careful in the introduction so that users realise that there's more beyond Reactive apps but without introducing too much complexity.
As of now, the docs use the Genie.Generators to create webservices/MVC architectures. These are a little hard to grasp: there's many autogenerated files, and names like "MVC" may not mean much to the user.
I'm thinking that we could develop some simple default templates for the various cases, and eventually build generators for them. Moreover, I'd like to hide away all the bootstrap and config files that come with the generators. I've made an initial attempt at a template for a web service here:
For now we've agreed on a flat structure as shown in the first multipage app guide. We'll revisit this when we introduce more complex apps with database acces.
These past few months we've focused on Reactive apps, which follow the app.jl+app.jl.html structure. However, there's also the webservices and MVC structures. They're fairly different since reactive apps are based around the @app block, and the others rely on a main routes.jl, controllers, views, and models.
What should we introduce users to first? This would depend on what they're trying to do:
We need to be careful in the introduction so that users realise that there's more beyond Reactive apps but without introducing too much complexity.
As of now, the docs use the
Genie.Generators
to create webservices/MVC architectures. These are a little hard to grasp: there's many autogenerated files, and names like "MVC" may not mean much to the user.I'm thinking that we could develop some simple default templates for the various cases, and eventually build generators for them. Moreover, I'd like to hide away all the bootstrap and config files that come with the generators. I've made an initial attempt at a template for a web service here:
https://github.com/BuiltWithGenie/WebServiceTemplate