Public β-release suggestions
These details are shared at: https://narkhov.pro/pheix-public-beta-release-suggestions.html.
As the private β release has shown, Pheix at current implementation has generic render time problem. If we're rendering content on server-side with Template::Mustache or (our early implementation HTML::Template) we're wasting ~ 3 seconds.
We have tried the next improvements:
- FastCGI (successful — we're spending a lot of time only for first start now);
careful object management — now we have the single template with variables (title, content, etc), well if we render common variables at first start and then use own reactive render at runtime we will got more speed; also we need to create all static objects (such as
Pheix::Utils) at first start.
What we have to improve:
What's functionality will be there
- Improved object management (global objects, run-time objects, nested pools);
- Headless backend: get content via REST API;
- Separate compression layer to Pheix::Model::Database::Blockchain (details);
- Embedded ultra fast content tags render based on Raku grammars;
Deprecate captcha generation with ImageMagick and migrate to reCAPTCHA;
Deprecate November CGI library and write own module with hanlers for POST/GET requests;
- Run fully functional Presentation Layer of https://pheix.org on new backend engine;
- #87 (comment 451317852)
- Due to FastCGI: no prints anymore, we're living in FastCGI paradigm;
- Due to clientside templating: another template variable format, no content render at backend;
- Due to headless backend: content is delivered via REST API (Ajax) from backend JSON API gateway;
There are a lot of principal changes, so the dates could vary at all. Nevertheless, we're starting with breakpoint at 30 December 2020.
Perspectives / further steps
In this case we will implement a pool of administration layer REST APIs and connect Perl5 Pheix. This will be the great tandem: Raku on backplane and Perl5 as frontline agent.