PHPTAL
mountaineer
PHPTAL | mountaineer | |
---|---|---|
1 | 4 | |
174 | 770 | |
0.0% | - | |
4.7 | 9.6 | |
16 days ago | 4 days ago | |
PHP | Python | |
GNU Lesser General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PHPTAL
-
Ludic: New framework for Python with seamless Htmx support
I agree and I don't fully understand the why of it.
I remember coding PL/SQL to emmit HTML in Oracle around 1999 or 2000 and using functions to code the various elements.
Thay got old and repetitive very quickly - for instqance, everytime I had to correct a spelling error, I had to recompile the code.
To get around it I used one or two tables to hold html snippets to decouple the business/backend logic from the frontend, and stopped using the PL/SQL functios completely.
My speed of developmet skyrocketed, and separating and abstracting the frontend from the backend made so much sense.
A few years later, I was doing web developemt with Python using the Zope framework (not many people know about it tiday, I think).
It uses a specialised serverside templating language called TAL (Template Attribute Language)[1] that basically builds the front end dynamically, and then you feed it data from the backend.
Very neat and allowed me to build reusable compoments as well as collections of a schema definition (basically a dict), html template(s) and the code to validate that the inpuy matched the schema and could be rendered.
Or something like that its been 2 employers and almost 20 years since i worked with tha :)
I did build a small php extension for Wordpress using a PHP implementation[2] of TAL a few years ago, and TAL still works like a charm :)
My point is that I still believe there is value in keeping python out of the HTMl-templating, and in keeping the front end logic apart from the backend logic.
There is something I am not understanding about the renewal of mixing HTML/GUI template with code, buy I haven't fully found it yet.
[1] https://en.m.wikipedia.org/wiki/Template_Attribute_Language
[2] I believe it was this one https://phptal.org/
mountaineer
-
Ludic: New framework for Python with seamless Htmx support
I imagine a lot of this comes down to personal preference. In the early days of Mountaineer (gee, almost two months ago at this point), I played around with the idea of embedding html into python instead of needing a JS layer. Eventually my consensus was:
- The most extensive typehinted approaches typically end up wrapping JS/React components anyway (like Reflex/Pinecone)
- We really need better IDE support for html strings that are within python strings. The editing problem is a big setback.
The ergonomics of Python + JS in separate code files won out and the user experience has been better than forcing them both into a common language would be.
This has the benefit of leveraging whatever the two languages are best at, in native code, so you have access to all the native APIs without having to learn a shim on top of it. Way more longevity to that approach too. Context switching between two languages isn't that bad if you minimize the glue layer that you have to write between them.
[^1]: https://github.com/piercefreeman/mountaineer
-
This Week In Python
mountaineer – batteries-included web framework for Python and React
-
Show HN: Mountaineer – Webapps in Python and React
https://github.com/piercefreeman/mountaineer/tree/1d44cdf1c6...
(In an old commit and stripped out from the current codebase until it has better test coverage and the main codebase is stable)
What are some alternatives?
Twig - Twig, the flexible, fast, and secure template language for PHP
anansi-tags - Apply markdown to Python strings to get ANSI
Smarty - Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic.
Latte - ☕ Latte: the safest & truly intuitive templates for PHP. Engine for those who want the most secure PHP sites.
Phly Mustache - PHP 5.3 Mustache implementation
Mustache - A Mustache implementation in PHP.
Foil - PHP template engine for native PHP templates
TextGenerator - TextGenerator is a PHP package that aims to generate automated texts from data.
Lex - A lightweight template parser used by PyroCMS.
MtHaml - Multi target HAML (HAML for PHP, Twig, <your language here>)
Aura.View - Provides TemplateView and TwoStepView using PHP as the templating language, with support for partials, sections, and helpers.
Plates - Native PHP template system