Post without Account — your post will be reviewed, and if appropriate, posted under Anonymous. You can also use this link to report any problems registering or logging in.

Building an application framework

  • 2 Replies
  • 2271 Views
*

Offline Phil

  • Global Moderator
  • Sr. Member
  • *****
  • 430
    • View Profile
Building an application framework
« April 08, 2017, 08:40:25 PM »
Is it feasible to build a general purpose application framework, into which you could plug modules for forums, stores, galleries, blogs, etc.? There's a lot of overlap between various applications — they often have very similar code for registration, login, and logoff of users; permissions for handling guests versus logged-in users of various levels (plus administrative and moderator user levels) and what they can see and what they can write to; low level database access routines; user interface design and templating; and probably other stuff. The framework would handle all this common stuff, providing a consistent look and feel across all modules, and a consistent API for the modules.

One thing that must be taken into account in the design of any application, including this one, is that most people putting up a website are neither Computer Science majors, nor looking for a new and all-consuming hobby. They are looking for a tool or appliance to do what they want without a lot of blood and sweat and tears. At the other extreme are people who love coding and want to be able to modify and customize this thing to their hearts content. Can both groups be satisfied? Most site owners would be delighted to have something they can drag and drop pieces into, and use a dashboard to give them a helping hand in tuning the thing. If these people want a toaster for their kitchen, they'll go to a store and buy one. They don't want to play engineer and design a toaster themselves, source all the components, and assemble it themselves. Other people relish the challenge.

If an application framework (plus the applications plugged into it) requires PHP coding skills to make modifications (including successfully installing third-party modules), that will drive away a substantial part of the market. However, relying solely on hooks and plug-ins may be too limiting for other users. So what's the happy medium? Can you have hooks and plug-ins that won't be broken if you (carefully) manually edit the code? With so many extra layers and interfaces to go through, can you get reasonable performance?

People with experience in applications are welcome to comment here. I'd especially like to hear about experiences with Wordpress, which seems to have an almost infinite library of plug-ins — do they work well for all levels of coders/maintainers? People with experience in Drupal, Joomla, and other Content Management Systems are also welcome. I have long had a concern that most CMSs put too much in the database that should really be in code files, imposing a heavy server load and/or limiting what can be done. I've never liked the idea of having to edit some HTML (or just text) in the CMS's editor and then have it disappear into the database, to re-emerge somewhere else later, on some page. I would personally prefer to write PHP code to put out that page, calling on common routines to make sure it all fits together nicely.

Your thoughts?

*

Offline BrockleyJohn

  • Newbie
  • *
  • 1
    • View Profile
Re: Building an application framework
« Reply #1: April 28, 2017, 04:32:33 AM »
I have implemented a number of Wordpress sites and made changes to many more. WP's reputation of being easy to implement and update rests largely on the admin features for installing and updating versions and plugins; that and the easy lookup of plugins, reviews of their quality and compatibility information.

In practice, someone wanting to set up their own site for e-commerce, marketing or, generally, something more than plain pages and a blog will typically need one or more paid plugins (or a paid theme consisting of them) unless they are prepared to compromise significantly. Very often these do not come with maintenance updates outside a paid agreement.

People ask for a site to be built for them based on WP on the assumption that when they get it back they will be able to look after it themselves. They are recommended WP as the suitable platform for their site by the mentors whom they pay for regurgitated internet wisdom.

There is a middle ground of savvy owners who benefit from WP as a platform; not into the nitty gritty of coding but with a logical bent and willingness to dig around and find where to change things. If they are able to commit the time, they can find themselves a set of building blocks and get them to stick together in something approximating the desired shape, without needing to be a developer.

BUT.... it's.......... reeeeaaaaaaaally................................................. ................................. slow
especially with themes that offer responsive design and visual editing, although this may be better now that some of this is built into the core
It seems to me that WP sites which are proper applications are best avoided unless on wordpress-optimised hosting. I've no idea what this really consists of but guess it might be some clever kind of caching.

What you're talking about sounds like a high-level framework with a common set of modules that are extensible... and a real datamodel that's not crammed into blog posts and categories.

I don't know but maybe somewhere like Ruby on Rails is a place to start? My knowledge is limited to a quick google search!

*

Offline Phil

  • Global Moderator
  • Sr. Member
  • *****
  • 430
    • View Profile
Re: Building an application framework
« Reply #2: April 28, 2017, 01:38:09 PM »
Hi John,

Thanks for the feedback, and welcome aboard! It's good to get real world experience about using frameworks and such, rather than just dry academic theory. You mentioned things like visual editing (WYSIWYG), which I personally dislike, except for very simple markup -- it always seems to get in the way of serious work, but some people can't live without it. Likewise, putting all your pages in the database seems inefficient to me, as well as being a constraint on how you can customize pages. WP started life as a blogging platform, and that has imposed some limitations on what can be done with it.

At this point, I don't know if I'm actually going to try doing something with a new framework... I'm just gathering information for right now, and hoping to get a discussion going.

I hope to see you participating in other areas of this forum.
Phil