Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Website Conundrum...

by kel (Sexton)
on Apr 03, 2017 at 22:44 UTC ( [id://1186918]=perlquestion: print w/replies, xml ) Need Help??

kel has asked for the wisdom of the Perl Monks concerning the following question:

I am in the process of planning for ultimately the creation of two, somewhat disparate websites: One is a rebuild of an OSC ecommerce site, and the other is for an art/design type site. These two formats require massively different 'themes'/grids/overall design.

Ideally each would somehow interact with each other, such as a single session for both. My programming experience is minimal, but I have time and persistance on my side.

I want something with maximal flexibility. As well as something which will not be deprecated in the near or likely future.

In my limited knowledge and experience I have come up with two contenders: Ruby's Jekyll, and Perl's Catalyst. Both seem to have the design flexibility I want for the two different formats. Both *seem* to have the ability to access the latest widgets (not that I intend to use them, but the 'art' site might need them). OK, I'll confess - the art site is for the wife, who may need to get involved in website design in the future, and I would like to keep her away from the typical CMS stuff like Wordpress (which is stifling) or Drupal (which would require enormous bloat for this project).

I do not know if Jekyll's flatfile could handle ecommerce with something like a moderately sized booksite, requiring various search modalities. I have the actual MYSQL database in a flatfile format, but am unfamiliar with the mechanics of actual payment transactions for it, though there appear to be modules for that for Jekyll. It does, however seem to have all the basics for a great design oriented site.

Now, catalyst appears to have everything. Especially Perl which I am much more familiar with than Ruby, though Ruby *appears* to be simpler for this project. Both are MVC. Catalyst apparently can handle PHP so I might be able to reuse (modified) some older OSC code. I would like to make it 'future proof', so ultimately the question comes down to how well Catalyst is currently maintained, and if there are any known projects to make it compatible with some of the node.js garbage. (Forgive my prejudice, but I have a basic dislike for everything javascript...).

The fact that Perl is 'old' appears to be a major plus. Especially in an era when we have to go to an antiques auction to get decent gardening tools. Hells bells, I even use a sledge hammer as a gardening tool. The same applies to my cyber 'garden' with its 'web'. However certain 'newfangled' stuff has its advantages. If my limited understanding of MVC is correct, I should have the ability to change databases, or even eliminate the database of a site behind the scenes. This is the kind of versatility I am looking for.

So I am freely open to suggestions here. Perl MVC sites have apparently little popularity, but apparently great power. Ruby (Perl Lite!) and Node.js have great popularity, which can actually raise the noise level high enough to mask the quality of the code modules offered.

Replies are listed 'Best First'.
Re: Website Conundrum...
by stevieb (Canon) on Apr 03, 2017 at 23:39 UTC

    Mojolicious and Dancer2 are both MVCs that are actively maintained and are extremely powerful, yet easy to get started with.

    I chose Dancer2 for a recent project which is very flexible with several useful plugins, but I did toy with Mojo, but not enough to be able to do a full comparison.

Re: Website Conundrum...
by hippo (Bishop) on Apr 04, 2017 at 08:17 UTC

    Some of the various attributes, pros and cons of the main Perl MVC frameworks were discussed here recently in UP-TO-DATE Comparison of CGI Alternatives. If you have a read through that it might help to sway you one way or another. If your main concern is the future support then I strongly recommend that you make as much of your code as possible to be framework-agnostic from the outset. This may impact a little on the whizziness but will add to the long-term robustness of the complete system. Nobody can say what the future holds: hope for the best, plan for the worst.

      I feel like the pinball player in the Who song. Except I'm even missing a sense of smell.

      Or, in this case, *real* functioning templates like I have for a bunch of PHP sites. The problem with them of course is their *inflexibility*. OSCommerce is pretty well hardcoded in many areas that i would really want to change. Plus the fact that simply adding a page or a box can be a night's work.

      Basically what I am looking for is a swiss army cyber-knife. I am new to MVC and seeing a certain unexpected complexity to Rails, figured that if I am going to need to learn web frameworks (or whatever the more comprehensive term is) - that I would better learn the most (apparently) powerful - and then downgrade to the simpler. In short, I feel I need to learn something as complex as Catalyst (or even Mojo if it can equal its capabilities) - to be able to better use Jekyll ( for simpler sites).

      I have taken a contrary approach to learning OO - for which I have long had a mental block. I am learning Ruby OO, which I find intuitive - and that is suddenly making sense out of Perl's OO format.Perhaps even some day Java might make sense.

      Tke key aspect here is versatility, rather than simplicity. For simplicity I dont need to bother with MVC. I could just crank out a Drupal template, and toss some pics and text on it.

      I have the Catalyst book, so that may give me a leg up on what is traditionally poor documentation that has hobbled the Perl community. So much effort writing docs (Perl has the most extensive doc parsing of all) - but so little effort to make them comprehensible.

      If I can make a community website from the obfuscatory jibberish that consitutes the Drupal documentation, then I am not intimidated by Perl jibberish. At least its familiar to me.

      Community support is important. Vitally important actually in building *any* site. There are always snags not counted in google. So the question comes down to which is more 'lively' - Mojo or Catalyst these days. And if i must deal with Java/JS/Node - which platform would be the most flexible with it?

      Dancer is probably a good choice also, but the community seems smaller, and I do get the feeling that if I learn Catalyst, them Dancer development should be more easy to deal with. Of course I could be wrong!!!

Re: Website Conundrum...
by Anonymous Monk on Apr 04, 2017 at 17:34 UTC
    "I would like to make it 'future proof' ..."

    Did you predict the tremendous shift in UI configuration from browser to mobile back in 2005? There is no such thing as future proof but you can work to be as flexible and AGILE as possible.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1186918]
Approved by AppleFritter
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2024-04-24 19:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found