Igor, On 15 Jul 2013, at 17:48, Igor Stasenko <siguctua@gmail.com> wrote:
since you gave listing at the end of page, i wonder, how much PHP (yes! :) code it would take to implement same app? :)
of course , PHP is not really fair comparison, since it doesn't implements full HTTP stack, nor it deals with HTTP requests directly as Zinc does, and runs on top of web server which does that for it.
I don't know enough about PHP to really comment, but do you mean it would be (much) shorter ? I wonder and would certainly like to see. Just don't forget to include the full upload validation and parsing logic, as well as the default image. All lines of all files count: code, html, css, js, ⦠Anyway, the tutorial was not meant as a 'see how few lines we need'. I once did that in Reddit.st - In 10 elegant Smalltalk classes - Implementing a Reddit style web application in Smalltalk - Using Seaside, Glorp and PostgreSQL, but it is no longer available online, I should revive it. Sven
On 15 July 2013 13:12, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi,
I wrote a new tutorial, "Building and deploying your first web app with Pharo - Understanding HTTP fundamentals through Zinc HTTP Components".
By chronologically following the development process, you will see a small web app growing from something trivial to the final result. Finally, we will save our source code in a repository and deploy for real in the cloud.
http://zn.stfx.eu/zn/build-and-deploy-1st-webapp
Pharo 2.0/3.0 features such as Nautilus, SmalltalkHub, Metacello Configurations, Zeroconf Scripts and of course Zinc HTTP Components are used while highlighting traditional strengths such as incremental, live & interactive development in a rich environment.
Enjoy,
Sven
PS: Feedback is welcome, the source document lives here https://github.com/svenvc/zinc/blob/master/build-and-deploy-1st-webapp/build... - pull requests appreciated.
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
-- Best regards, Igor Stasenko.