<div dir="ltr">This is just my own understanding, but here it is:  Let's first get on the same page about web frameworks. To me, a web framework is basically giving you everything you need to get started with a database-driven website or web application.   Everything, that is, between the webserver software and the database software.  And in many cases the framework itself includes a webserver.  This is true of Dancer (which I'm not saying is a full framework) and Rails and most others, because the <i>basics</i> of a webserver are pretty simple.<div>

<br></div><div>So when I say "everything you need to get started," that's generally going to include each of the MVC layers.  Some code that handles the Model, some code that handles the Controller, and some code that handles the View.</div>

<div><br></div><div>Of course, there are lots of ways to deal with a database, and most of them have nothing specific to do with web frameworks.  In Perl, there's pure DBI, there's DBIx::Class, there's Rose::DB::Object, and I'm sure many others.   There are also lots of ways to do templating.  Template Toolkit, HTML::Template, and many others.  There are also websites and web applications that are so simple that you don't even need those parts at all.  For those reasons and others, there is an appetite for the "micro web framework."</div>

<div><br></div><div>As far as I can tell, there's only one real requirement for a micro web framework.   And that is route handling.  When certain types of requests come in, how do we handle those requests?   Different HTTP methods, different URIs, different query parameters.  How do we parse the arguments?  How do we handle error conditions?  File uploads.  Session data.   Etc.   All of this is included in a full framework as well, as the Controller.  And they also contain code for the Model and View.  But the micro-framework does not.  You might think of a micro framework as simply a controller framework.</div>

<div><div class="gmail_extra"><br>Anyway, that's my impression.   I might be wrong.<br><br><div class="gmail_quote">On Thu, Jul 3, 2014 at 9:40 AM, Andrew Solomon <span dir="ltr"><<a href="mailto:andrew@illywhacker.net" target="_blank">andrew@illywhacker.net</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi John<br>
<br>
I've read this and I still don't really know what a micro web framework is<br>
<br>
<a href="http://stackoverflow.com/questions/6784007/what-does-it-mean-to-be-a-micro-framework" target="_blank">http://stackoverflow.com/questions/6784007/what-does-it-mean-to-be-a-micro-framework</a><br>
<br>
but my gut feeling is simply that for a micro framework, a large<br>
portion of functionality is acquired via plugins.<br>
<br>
Can you clarify the definition?<br>
<span class="HOEnZb"><font color="#888888"><br>
Andrew<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Thu, Jul 3, 2014 at 12:45 AM, John Ingram <<a href="mailto:john@rotogrinders.com">john@rotogrinders.com</a>> wrote:<br>
> While this is interesting, comparing Dancer with anything more than a<br>
> micro-framework is not really accurate.<br>
><br>
> On Ruby, that's Sinatra, for one.   Python has Bottle and Flask, perhaps<br>
> others.   But to compare Dancer with either Django or Rails is something<br>
> that I don't quite understand.<br>
><br>
> The fact that Dancer is a micro-framework, and not a full framework, is why<br>
> I love it.  I love Rose::DB::Object as n ORM, and Template Toolkit as a view<br>
> layer.   What I was missing was Dancer.  Now I have what I need.<br>
><br>
><br>
> On Wed, Jul 2, 2014 at 6:12 PM, <a href="mailto:fabioniguel3@gmail.com">fabioniguel3@gmail.com</a><br>
> <<a href="mailto:fabioniguel3@gmail.com">fabioniguel3@gmail.com</a>> wrote:<br>
>><br>
>> Thanks for that Andrew.<br>
>><br>
>><br>
>> On Thu, Jul 3, 2014 at 12:02 AM, Andrew Solomon <<a href="mailto:andrew@illywhacker.net">andrew@illywhacker.net</a>><br>
>> wrote:<br>
>>><br>
>>> I've been conducting a series of interviews of my students to<br>
>>> understand the motivation for learning Perl. This one I thought would<br>
>>> be of particular interest to the Dancer community as I've asked an<br>
>>> established Perl developer with a broad background in other languages<br>
>>> and technologies why he learnt Dancer<br>
>>><br>
>>> <a href="http://blog.geekuni.com/2014/07/why-learn-perl-interview-3-savio.html" target="_blank">http://blog.geekuni.com/2014/07/why-learn-perl-interview-3-savio.html</a><br>
>>><br>
>>> Hope you find it interesting!<br>
>>><br>
>>> cheers<br>
>>><br>
>>> Andrew<br>
>>> _______________________________________________<br>
>>> dancer-users mailing list<br>
>>> <a href="mailto:dancer-users@dancer.pm">dancer-users@dancer.pm</a><br>
>>> <a href="http://lists.preshweb.co.uk/mailman/listinfo/dancer-users" target="_blank">http://lists.preshweb.co.uk/mailman/listinfo/dancer-users</a><br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> dancer-users mailing list<br>
>> <a href="mailto:dancer-users@dancer.pm">dancer-users@dancer.pm</a><br>
>> <a href="http://lists.preshweb.co.uk/mailman/listinfo/dancer-users" target="_blank">http://lists.preshweb.co.uk/mailman/listinfo/dancer-users</a><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> dancer-users mailing list<br>
> <a href="mailto:dancer-users@dancer.pm">dancer-users@dancer.pm</a><br>
> <a href="http://lists.preshweb.co.uk/mailman/listinfo/dancer-users" target="_blank">http://lists.preshweb.co.uk/mailman/listinfo/dancer-users</a><br>
><br>
_______________________________________________<br>
dancer-users mailing list<br>
<a href="mailto:dancer-users@dancer.pm">dancer-users@dancer.pm</a><br>
<a href="http://lists.preshweb.co.uk/mailman/listinfo/dancer-users" target="_blank">http://lists.preshweb.co.uk/mailman/listinfo/dancer-users</a><br>
</div></div></blockquote></div><br></div></div></div>