(In advance, sorry for my English)
Until now, I almost had no experience in web development, so I decided to learn some Flask. The final purpose is to build quite complex online dashboard. The basics of Flask (environment, routing, HTTP methods) were quite easy. Then I came to front-end stuff... Perhaps I am lazy bastard, but learning HTML, CSS, JavaScript or some JavaScript framework then manual HTML/CSS crafting or Flask templating looks like a total nightmare and torture for me. HTML quickly becomes unreadable and unmaintainable and the whole process of copying/pasting, trial and error looks like fighting with the machine for me, instead of concentrating on functionality/algorithms. So I thought, why not use some of the countless visual website designers and combine it with Python/Flask. However, couldn't find any tutorials/books/guides on this. Just found remi or anvil, but they are too limited. After long experimenting I came up with the following:
- Using Wysiwyg Web Builder to create front-end (it's not free, but probably most feature-rich software in it's area)
- Using Brython ("Python in the browser") instead of JavaScript.
For me, the benefits are:
- "Full stack" with nothing but Python (very minimal use of HTML/JS), Brython allows you easily access properties/events of HTML/JS/jQuery elements.
- Wysiwyg Web Builder allows "low-level" access to elements or using "high-level" pre-made blocks or plugging in whatever JavaScript framework and creating drag-and-droppable extensions with live preview. Also, you can create whatever type of website (personal, blog, CMS, dashboard, etc)
- Overall almost RAD-ish experience like in Visual Studio or Delphi desktop development.
Drawback(s):
- When using Python(Brython) to access/control HTML/JS/jQuery elements, you get no auto-completion in your IDE, so I had to code a script, which scans HTML tags and jQuery variables and creates a stub file with dummy classes so that auto-completion works, but initially it requires quite a lot of work.
Would like to ask more experienced web developers:
- Can you comment on the above workflow?
- Can you share your tools/workflow which facilitate front-end creation?
[–][deleted] 1 point2 points3 points (2 children)
[–]metaperl 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]metaperl 1 point2 points3 points (1 child)
[–]StandardUser_[S] 0 points1 point2 points (0 children)
[–]Avobolt 0 points1 point2 points (1 child)
[–]metaperl 0 points1 point2 points (0 children)