[Lazarus] Lazarus/FPC for Web Development only
Giuseppe
glpunzi at gmail.com
Sun Feb 23 21:09:54 CET 2014
El 22/02/2014 23:02, silvioprog escribió:
> 2014-02-22 15:11 GMT-03:00 Giuseppe Luigi <glpunzi at gmail.com
> <mailto:glpunzi at gmail.com>>:
>
> Sorry for late reply, too busy :(
>
> What approach you follow to build your sites? Jtemplate? Use brook
> just as restful server?
>
> I use it according the project. In several projects, I use only
> GET/POST, JTemplate and HTML. But there are also projects that I use
> GET/POST/PUT/DELETE, RESTful and some JS library, such as JTable, for
> example.
Maybe I will do some testing with JTemplate, using Anderson(*) videos as
helpers.
(*) http://www.youtube.com/watch?v=Y2ZozfS1aSg
> Im still just trying to figure on my mind how to "deploy" my idea
> to Brook development. My web development skills are mainly based
> working over CMS
>
> Regards.
>
> Some time ago, I have developed projects with CMS like Joomla and
> WordPress. Yes, it is practical, but they don't give me the same power
> to manipulate the content that will displayed on the screen. But I've
> thought about creating a CMS using Brook.
Well, mainly my web development projects are based on corporative
websites or eCommerce, not custom-made implementations. Here a CMS is
the best option. Now I want to build a Web App. Are different kind of
projects :P
>
> ps. The Brook 3.0 is being released with new ideas of João Morais
> (https://github.com/jcmoraisjr). It will be completely different from
> Brook 2.6.4. In the new Brook, you can receive objets instead JSONs,
> see a small comparison;
>
> form.html:
>
> <!DOCTYPE HTML>
> <html lang="en-US">
> <head>
> <meta charset="UTF-8">
> <title>Person</title>
> </head>
> <body>
> <form action="http://localhost/cgi-bin/cgi1.bf" method="post">
> <input type="text" name="id" />
> <input type="text" name="name" />
> <input type="submit" />
> </form>
> </body>
> </html>
>
> Brook 2.6.4:
>
> unit Unit1;
>
> {$mode objfpc}{$H+}
>
> interface
>
> uses
> BrookAction;
>
> type
> TMyAction = class(TBrookAction)
> public
> procedure Post; override;
> end;
>
> implementation
>
> procedure TMyAction.Post;
> begin
> // where's validation?
> Write('ID: %d, Name: %s', [Fields['id'].AsInt64,
> Fields['name'].AsString]); // where's reuse?
> // where's persistence?
> end;
>
> initialization
> TMyAction.Register('/person');
>
> end.
>
> Brook 3.0:
>
> unit person;
>
> {$mode objfpc}{$H+}
>
> interface
>
> uses
> SysUtils;
>
> type
> EPerson = class(Exception);
>
> { TPerson }
>
> TPerson = class
> private
> FId: Int64;
> FName: string;
> public
> procedure Validate;
> procedure Save;
> published
> property Id: Int64 read FId write FId;
> property Name: string read FName write FName;
> end;
>
> implementation
>
> { TPerson }
>
> procedure TPerson.Validate;
> begin
> if Trim(FName) = '' then
> raise EPerson.Create('Name must not be empty.');
> end;
>
> procedure TPerson.Save;
> begin
> // implement your persistence here, using a framework like dpof:
> https://github.com/silvioprog/dopf
> end;
>
> end.
>
> unit Unit1;
>
> {$mode objfpc}{$H+}
>
> interface
>
> uses
> BrookAction, person;
>
> type
> TMyAction = class(specialize TBrookEntityAction<TPerson>)
> public
> procedure Post; override;
> end;
>
> implementation
>
> procedure TMyAction.Post;
> begin
> Entity.Validate; // Yes, my own validation!
> Write('ID: %d, Name: %s', [Entity.Id, Entity.Name]); // Yes, I'm
> reusing my object!
> Entity.Save; // I love it, my validation using OPF (like
> https://github.com/jcmoraisjr/jcore or
> https://github.com/silvioprog/dopf) of DAO!
> end;
>
> initialization
> TMyAction.Register('/person');
>
> end.
>
Looks interesting. Are Brook 3 in your github too? When is planned to
release?
Regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20140223/4a42781b/attachment-0003.html>
More information about the Lazarus
mailing list