[RCD] Fwd: Re: Roundcube Next - a survey
Hans de Raad <info <at> hcderaad.nl>
2015-03-08 20:58:29 GMT
first of all, many thanks for the great software you and the other RC communitymembers have provided me with
in the past years.
It has been an absolute pleasure using it and I have a lot of very satisfied customers thankfully using it on a
daily basis as well.
With regards to your questions:
#1: what's your take on the programming language choice?
From a hosting perspective, currently nothing beats PHP. However PHP does have its drawbacks mostly
related to shared hosting environments using old versions (which are a real PITA).
From a developer perspective, for backend web development modern PHP is just as suitable for just about any
project as Python, Ruby or even Java. So when selecting a programming language of choice in my projects my
first priority would be developer familiarity with the language and the status of the frameworks
avaiable in it.
And from that perspective, PHP has quite a lot going for it. Frameworks like Symfony 2 are very mature and
versatile (even huge projects like Drupal are moving towards leveraging their power). Also with modern
theming engines like Twig, separating layout and business logic is very mature.
Performance wise, for most projects PHP is good enough, especially since mostly the performance
bottlenecks aren't in the webserver (or PHP parser/engine) but in the database/storage behind it.
But, that said, there are valid alternatives and NodeJS is definitely one project to watch. However, I've
had mixed experiences with its stability, especially since the codebase is evolving very rapidly
(featurewise) there are quite some things to watch out for when utilizing third party libaries since not
all of them are keeping up with this well enough. Another issue is in distributions, especially
enterprise (or LTS) releases tend to stick with older versions of packages only backporting necessary
This could ofcourse change when containerized deployments become more mainstream, however I expect that
will take at least a couple of years to really materialize.
At the moment everything seems to be about either Backbone.js, Ember.JS and AngularJS.
These platforms are quite different and depending on your needs can either be very much overkill or
underfeatured. Backbone in example doesnt have two way data binding out of the box (you can use something
like Epoxy.js or stickit), while the others do, however backbone is severely lighter than the other 2 and
can utilize quite a broad range of external libraries like underscore js.
AngularJS is pretty much universally regarded (always dangerous to state something like that, but please
allow me for the sake of argument) to have the broadest featureset, but that also comes with quite a steep
Projects which start from scratch often seem to select Angular, while Backbone seems to be integrated with
existing systems (like, again Drupal) quite often.
#3: who's willing to help us draft the perfect protocol for this?
I have some experience with messaging protocols ranging from bus networks (yay good old RS485) and SNMP to
XMPP, so I'd love to contribute to that, but I don't have a lot of time available, so my contributions would
probably mostly be limited to reviewing and the occasional comment.
My advise in general however would be (and I know I'm preaching to the choir, but still) to adopt a protocol if
it already exists and can be considered an open standard. from that POV the JMAP protocol looks very promising.
I hope my input has been useful to you! Looking forward to see what you and the other great community members
come up with!
OpenNovations / DevHdR
Van Sevenbergestraat 49
Tel +31 6 83578847
www.hcderaad.nlHans de Raad
Roundcube Development discussion mailing list
dev <at> lists.roundcube.net