En misschien is het nog wel waar ook…..

Vanmiddag wees @birgerjansen mij op een leuke en vooral interessante blog; “Web Applications Should Be Compiled“. Reageren op het artikel kan niet meer. Zelf kan ik nog steeds niet reageren via twitter, dus dan maar op deze manier….

Zelf ontwikkel ik webapplicaties en websites in Opensourcecms.eu, wat is geschreven in PHP. Ontwikkelen gaat inderdaad snel. PHP is helemaal toegesneden op het ontwikkelen voor het web, dus dat biedt zeker voordelen voor ‘ad hoc’ implementaties. Performance issues spelen natuurlijk altijd een rol en in die zin zou compiled code absoluut een verbetering opleveren.

Bij de comments van het genoemde artikel wordt verwezen naar Mongoose. Mogoose is een webserver, m.i. in eerste instantie te vergelijken met bijvoorbeeld Jetty. Er van uitgaande dat de gecompileerde webapplicaties, tevens webserver zijn (onder port 80) kan het toch interessant zijn Mogoose nader te bekijken.

Goed stel; ik zou een webapplication framework willen bouwen, wat bij voorkeur ook direct inzetbaar is als CMS, in C of C++, wat zou ik dan nodig hebben. Beginnen ‘from scratch’, is meestal alleen leuker, maar niet per definitie efficiĆ«nter. De auteur van het artikel geeft de voorkeur aan C boven C++. Mijn mening is, wanneer herbruikbare code even snel geschreven kan worden als niet herbruikbare code, dan te kiezen voor het eerste. Naast C zou C++ dus zeker een optie zijn.

Zelf heb ik de volgende reeds bestaande projecten kunnen vinden:

Wexus Labs een C++ library voor web application development. Het idee achter Wexus lijkt duidelijk. Verder is mijn indruk dat er na 2006 weinig meer is gebeurd. Veel verder dan een ‘hello world’ wordt dan niet gekomen.

Wt, uitgesproken als ‘witty’, is zeker een interessant project. Wederom een C++ library. Zelf beschrijven ze het als een applicatieserver voor het ontwikkelen en onderhouden van webapplicaties. Goede indruk maakt natuurlijk, dat de site zelf gebouwd is in Wt. Nadere inspectie van de html-broncode wijst wel uit, dat Wt code produceert waarvan de zoekmachines waarschijnlijk niet echt blij worden….. na een korte analyse denk ik dat dit niet simpel op te lossen is. Wt lijkt mij bepalend in de uiteindelijke output. Webapplicaties die werken met en zonder javascript is natuurlijk mooi, maar voor het bouwen van websites is zoekmachineoptimalisatie (voor mij) ook belangrijk.

De meeste indruk maakte CppCMS op mij. Zoals ze zelf zeggen;
CppCMS is Free C++ Web Development Framework (not CMS) aimed for Rapid Web Application Development“. Het is dan op zichzelf geen CMS, er is wel een implementatie voor database-connectie(sql), sessies en caching. CppCMS lijkt mij een interessant project om binnenkort nog eens beter te bekijken.

Tot slot nog een vraag voor ‘de heren’ van CNOC. Hoe zien jullie de mogelijkheden wat dit betreft voor het ontwikkelen in Free pascal?

3 Responses to “En misschien is het nog wel waar ook…..”

  1. Birger Jansen

    De mogelijkheden van Freepascal (FPC) zijn zeer goed. Het grootste deel van de webapplicaties die wij maken (dat zijn er nog niet heel veel) is in FPC geschreven. Er zijn goede toolkits beschikbaar die veel werk voor je uit handen nemen. Naar keuze kan je je project als apache module compilen of je kan direct een eigen webserver meecompilen. En dit naar keuze natuurlijk voor een Windows of Linux gebaseerde server.

    Reply
  2. basjobsen

    @birger heb je een voorbeeld van een dergelijke toolkit? Bedankt voor je reactie.

    Reply
  3. Joost van der Sluis

    Ok, ik bijt wel.

    Meest uitgebreid is ongetwijfeld Morfik(http://www.morfik.com/). Maar commercieel. Fpc heeft ingebouwed support voor web-modules die je vervolgens kan compileren naar cgi-applicaties of web-modules. Daar heb ik onlangs FastCGI aan toegevoegd omdat daar veel vraag naar was. Op de planning staat ook dat je kan compileren naar een stand-alone web-server. Meer zodat je makkelijker kan testen en debuggen. (niet echt voor productie)

    Maar dat levert niet veel meer dan de basis. Je zou kunnen zeggen dat je hiermee op het basis-niveau zit van php.

    Wil je meer, heb je daarboven een framework nodig. Fpc levert met fcl-web een basis (ik ben daar inmiddels min of meer de hoofd-maintainer van.)

    Maar bijvoorbeeld extpascal (http://code.google.com/p/extpascal/) is uitgebreider. Dit is in principe een native backend voor Ext JS. Mijn bedoeling is om dit te integreren in fcl-web.

    Maar misschien dat ik nog een betere javascript-engine kan vinden (voor het client-side deel) om die te gaan gebruiken…

    In principe is de situatie hetzelfde als die voor c: natuurlijk kan je fpc gebruiken voor het ontwikkelen van web-applicaties. Alleen zijn de echt goede frameworks nog niet echt van de grond gekomen (op Morfik na dan). Daar moeten we aan werken.

    (Delphi heeft natuurlijk ook zijn eigen Intraweb-framework)

    Reply

Leave a Reply

(will not be published)