webyaml / core

WebYAML App Engine - Rapid Application Development (RAD) tool that allows designers and developers to rapidly build attractive web applications and RESTful APIs for their projects. Applications are authored as simple configuration files in YAML syntax
Apache License 2.0
10 stars 1 forks source link

Why python? #3

Open pomazanbohdan opened 6 years ago

pomazanbohdan commented 6 years ago

Why not golang? There is an opportunity to create a "portable" application with built-in mysql like a database.

I'm not a programmer, but I had the idea of such a system, with which you can "quickly" build for example CRM or some kind of system for a startup)

pomazanbohdan commented 6 years ago

screenshot_1

pomazanbohdan commented 6 years ago

XXX.yaml -> collection json -> db XXX.yaml -> collection json ->web UI (menu/crud/form)

pomazanbohdan commented 6 years ago

user.yaml.txt

webyaml commented 6 years ago

Why not golang?

Webyaml is written in python because it is built on top of web.py which is a python web framework. Web.py was originally built to host reddit.com. According to the web.py website, “It’s the anti-framework framework."

I used web.py to make a few backend applications and found that while it was useful, I did not like its template system. That was not an issue since you are not required to use it. I decided to see if i could replace the template system but keep the forms, get and post vars, sessions, etc. The end result is webyaml. Webyaml has since grown to do more than templating. Now it is more like a high level programming language that allows novice coders to be able to make smart looking apps that function well without having to write any python code.

webyaml commented 6 years ago

I'm not a programmer, but I had the idea of such a system, with which you can "quickly" build for example CRM or some kind of system for a startup)

Most people who are using webyaml are not programmers in the traditional sense. There are no plans to change webyaml into a CMS or any other type of dedicated use application. Webyaml was built to allow companies to create their own applications.

If you are interested in using webyaml to build a dedicated framework you are welcome to do so. And if it works out, we do hope you share your application with us.

webyaml commented 6 years ago

There is an opportunity to create a "portable" application with built-in mysql like a database.

That is a very good point. In fact we are already encouraging people to do that. One way that you could do that is using sqlite. I have used webyaml on very small footprint single board computers. Here is a link to an example application for an IoT device. https://github.com/webyaml/sites/tree/master/iot

webyaml commented 6 years ago

I took a look at your "user.yaml.txt" file. The approach in that file is very similar to my first web.py projects. I started making configuration files that i could feed into a template that would convert it "auto-magically" into a web interface. The trouble was that one day i needed two forms on one page and the whole thing broke.

Your configuration file also seems to be part of a Model-View-Controller application. I understand the appeal of the MVC method of programming, and i have a lot of respect for it. To make webyaml to be as flexible as possible i chose a free form approach. This means that a page can contain any type of element mixed with processors that can perform business logic. I am not saying that one approach is better than the other, this is just what I chose.

One thing that i like about your configuration is multi language support in forms. I have not found an easy way to do that yet. I will share some ideas in another post.

Thanks for looking at my project.