4 ms·
Any good reasons not to build web apps and API backends with Perl these days?
by replwoacause 2y ago
Any good reasons not to build web apps and API backends with Perl these days?
- BiteCode_dev 2y agoThe ecosystem of PHP/Ruby/Python is miles ahead so if you need anything ranging from auth to validation, you will have to do 10 times the work. In fact, even modern JS frameworks with features that have no equivalent in Laravel/RoR/Django see their appeal diminished because those old school frameworks do the basic so well they are productivity cheat code for essentials. It's so easy to find people delighting in beautiful hot reload yet struggling for days making Oauth work or having to pay a saas for image resizing while 20 years old tech have that part nailed down.
- oalders 2y agoThe Mojolicious framework can do a lot of heavy lifting for you. It's not that hard to do interesting things while writing minimal code: https://www.mojolicious.org/ https://www.mojolicious.org/
- BiteCode_dev 2y agoThat's actually making my point, this is riduculously limited compared to the tools I mentioned. Django's admin alone is richer in feature than this whole framework.
- renewedrebecca 2y agoIt's not fashionable.
- ei8ths 2y agoUse what you are comfortable with, I write Perl backends in Mojolicious, its great.
- weare138 2y agoI do. I've worked with other languages over the years but I always come back to Perl. There's a few good options for web apps/APIs. Web frameworks: https://www.dancer.pm https://www.dancer.pm https://mojolicious.org https://mojolicious.org http://catalyst.perl.org http://catalyst.perl.org https://metacpan.org/pod/Kelp https://metacpan.org/pod/Kelp https://metacpan.org/pod/Net::API::REST https://metacpan.org/pod/Net::API::REST Middleware: https://plackperl.org https://plackperl.org https://github.com/miyagawa/Starman https://github.com/miyagawa/Starman Some other useful stuff... OO Frameworks: https://zydeco.toby.ink https://zydeco.toby.ink https://metacpan.org/pod/Moose https://metacpan.org/pod/Moose https://metacpan.org/pod/Moo https://metacpan.org/pod/Moo Type system: https://typetiny.toby.ink https://typetiny.toby.ink https://metacpan.org/pod/Function::Parameters https://metacpan.org/pod/Function::Parameters https://metacpan.org/pod/Function::Return https://metacpan.org/pod/Function::Return Coroutines/multithreading: https://metacpan.org/dist/Coro/view/Coro/Intro.pod https://metacpan.org/dist/Coro/view/Coro/Intro.pod Async: https://metacpan.org/pod/Future https://metacpan.org/pod/Future https://metacpan.org/pod/Promises https://metacpan.org/pod/Promises https://metacpan.org/pod/IO::Async https://metacpan.org/pod/IO::Async https://metacpan.org/pod/AnyEvent https://metacpan.org/pod/AnyEvent https://metacpan.org/pod/EV https://metacpan.org/pod/EV
- replwoacause 2y agoExcellent comment, can’t wait to give this a look and start playing around.