[svlug] questions on web site development

Ivan Sergio Borgonovo mail at webthatworks.it
Sun Nov 30 15:50:33 PST 2014


On 11/30/2014 08:30 PM, Vincent Flesouras wrote:
> Hi Scott,
> I am a Drupal developer.
> I've worked at a web agency, freelance, subcontract and now I work at
> SLAC National Accelerator Laboratory as their Sr. Drupal Architect.

I'm jumping in here because that could be a good chance to hear some
news about drupal.

I've been a web developer and drupal developer as well.
I'd say that somehow drupal got me in web development and was one of the
reason I'm doing something else right now.

It was the most complete product as a CMS *and* the most reasonable
framework for web development.

But later I felt it was a pain to interact with the core team to submit
bug/security report and they have been careless of API backward
compatibility.

I was already not that interested in web development when they said that
D8 was going to use symphony (a framework) and I thought it was a very
good news.

D8 is still not out and I wonder if the mix drupal was(is?) has any more
sense now (product + framework).

HTML5 and the abundance of libraries make someway much easier to build a
"web-whatever" but the expectations are much higher than before.

While it is really tempting to say that if you install drupal you'll
have a templating system, a theming system, a localization system, a
blog, a cms, a wyswyg editor and what not, I still have the feeling that
right now it makes more sense to write your own "web-whatever" if drupal
is not enough rather than writing a module. I wonder if I'm right.

I decided to get into web stuff again recently, just for fun.
So I'm fresh from a quest of what tool I could use to have fun without
wasting too much time into reinventing the wheel.

I think I'm going to settle on Flask. I was thinking to recheck why I
discarded pyramid tonight and finally go for some toy project of more
than a hundred lines.

I just considered python stuff because PHP fail too many times to follow
the principle of least astonishment. Actually I gave a short look to
stuff in PHP as well but I didn't find any that was nice enough to make
me forget how PHP makes you feel dull sometimes.

To summing it up... I'd never write static HTML even for "static" pages
if they are more than 2.
There are things that definitively comes very handy even for static
pages like templates, includes, stuff to minimize js/css etc... that's a
pain to manage by hand.

So even if anyone writing web pages should know a minimum of HTML/CSS,
writing by hands full pages with stuff like "Dreamweaver" is nearly
pointless.

Finding a tool that turn some scripting/templating stuff into static web
pages could have an enough challenging learning curve compared to the
"reuse" chance that may not be worth unless this is really really what
you need to do and won't do anything else in the future.

Next step in terms of learning curve is a full fledged CMS and I think
Drupal is still the best thing around *if you don't need to write code*.
Things may be different now, but I think the nature of the web right now
make it difficult to have a working product out of the box *and* a
framework in the same software.
Consider that moving sites from version to version, depending on modules
installed, hasn't been that fun in the past.
Wordpress could be another possible choice with pros and cons even it
terms of development path, flexibility, security, services offering
packaged installation etc... I've a very shallow knowledge of wordpress.

You'll have to learn very few bits about dealing with a database and
editing a couple of files in php. You'll still have the chance to learn
how to write HTML and CSS writing your own theme and you'll have
something with a lot of functionalities ready to go.

Consider that if you're very interested in setting up a web server, a DB
etc... there are services that just do this for you at various level.

If doing web stuff is going to be your business drupal can still be
something interesting if you just plan to install, configure, theme it
and assist your clients.

If you're a very small shop coding for drupal (and probably for any
other full product more or less) may be challenging.

A full product comes with a lot of assumption about what are you going
to do and how and this may cause a lot of friction when you've to code
new stuff.
These frictions may be hard to solve if upstream is not that responsive
to the changes you need to make your work smooth and your company is not
big enough to maintain "in house" changes to the product you're using
especially when you'll have to deal with security updates or to be
represented enough in the community that develop the product you're using.

If you chose to develop your own dynamic web site... that's going to be
much more challenging. Even if you've a long experience in programming
you'll still have to learn a lot of stuff from security to performance
etc... even if you may put up something that works in a month, it may
not be something you'd be willing to put on the net.

There are a lot of frameworks to help you to build up "web stuff" with
different targets and different level of choices they made for you (or
impose on you).

There are frameworks that will help you to write your own CMS quickly
and without requiring too much knowledge about the web, since they made
a lot of choices for you (form validation, database abstraction layer,
configuration system, ...).

There are also CMS based on these frameworks and then if you'll need to
develop something else you'd do it outside the CMS but inside the framework.

A good example could be django.

Then there are lighter framework as pyramid, flask, bottle etc...
Twisted is in a different league...

They make much less assumption about what a web app should be and you're
free to pick up other libraries that may help you to develop a web site

Surprisingly once you've enough know-how, building a simple blog with
pyramid or flask may be a matter of few hundreds lines of code.
But before you do, you should know which additional libraries you need,
how to deal with static content, how to upload files etc...


-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it




More information about the svlug mailing list