rsp / piglet Goto Github PK
View Code? Open in Web Editor NEWThis project forked from miyagawa/piglet
This is an incomplete project - DO NOT USE IT
This project forked from miyagawa/piglet
This is an incomplete project - DO NOT USE IT
NAME Piglet - PSGI micro web framework toolkit DESCRIPTION Piglet is a DIY toolkit for web application and web framework developers. Piglet is a collection of modules, utilities and helpers to make it easier than ever to create a new micro web framework, or add new features to existing frameworks. Piglet has helpers and modules to quickly create a PSGI application, a quick DSL helper to write a micro web router and adapters for existing web frameworks to use these features. Piglet is built on top of the PSGI standard, which means it works well with most of PSGI supported web servers and Plack. DEPENDENCIES Building and using Piglet requires the following modules: Module::Install, Module::Install::ReadmeFromPod, Module::Install::Repository, Data::Section::Simple, Plack 0.99 or higher, Router::Simple 0.05 or higher and Sub::Exporter. MOTIVATIONS Rack is sexy and WSGI is cool. So is PSGI. Plack solves the problem of "how to deploy Perl web applications" by making the PSGI interface standard. Now most Perl web frameworks support PSGI and can run on any of the existing web servers via CGI, FastCGI, mod_perl as well as directly on shiny new Perl web servers such as Starman, Twiggy and Corona. PSGI made web framework developers happy. However, now application developers keep asking questions *What's the best framework to use with Plack*? The answer has been always *well, whatever you like the most*, but it doesn't seem to satisfy most people. Turns out, these web application developers want to use Plack to make sure their application runs on any PSGI compatible web severs (check), to benefit from Plack::Middleware features with tools such as Plack::App::URLMap or Plack::Builder (check) and quickly build a very simple web application handlers using Plack::Request or alike. In the end they pretty much inlined their web application in ".psgi" file using Plack::Builder and Plack::Request, which feels a bit chunky. Writing a new web application without the learning cost of web application frameworks is tricky, since most frameworks are featureful, to reduce the amount of things you need to care about in the future. This contradicts with the need of starting with something simple without learning *anything* but with the possiblity of gradually upgrading the application from simple to complex. Exsiting solutions to this dilemma include things called *micro web frameworks* such as Mojolicious::Lite, Squatting and Dancer: they are excellent frameworks you should take a look at. They all support PSGI so you can use Plack middleware with them as well :) However Mojolicious and Dancer are also featureful, which is obviously a great thing later, but we wanted something as thin, or in other words, as *dumb* as possible, to start writing a new application. So, Piglet is basically a toolkit to write a framework-less application, or your *own micro web framework* for an application with more raw-ish access to Plack middleware components with simple OO API or fancy DSL syntax. Because it's built on top of PSGI, it's easy to later migrate or upgrade to more featureful *real web frameworks* such as Catalyst or Jifty. Read more about the idea of framework-less WSGI web application on Ian Bicking's blog post <http://blog.ianbicking.org/2010/03/12/a-webob-app-example/> which is an inspiration for this project. AUTHOR Tatsuhiko Miyagawa Tokuhiro Matsuno Piglet is inpired by Sinatra, Merb, routes, Ruby on Rails, WebOb, juno, bottle, Dancer and Mojolicious. COPYRIGHT Copyright 2010- Tatsuhiko Miyagawa LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO Plack
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.