[thelist] Why would I NOT use my own framework for my client's work
Renoir B.
renoirb at gmail.com
Mon Oct 1 21:30:45 CDT 2012
Hello All.
I started that answer when Nadeem explained that he created his own
framework.
I thought I would share my thoughts on it, on a different thread than the
discussion-starter talking about JSON field search from Drupal database
model.
On that subject, I extensively written about it because I had to defend my
technological choice of Symfony2 at my (very-large) client.
- My answer to people asking whether they should or not use a
framework<http://renoirboulanger.com/blog/2012/08/my-answer-to-people-asking-whether-they-should-or-not-use-a-framework-on-their-programming-language/>
- Choosing a framework, how I personally define what is “hot” about
them, an evaluation process (part
1)<http://renoirboulanger.com/blog/2012/07/choosing-a-framework-how-i-personally-define-what-is-hot-about-them-an-evaluation-process/>
- .,.. and the following (not yet published) that I would call: "Why
would I NOT use my own framework for my client's work"
---- SNIP -----
Indeed.
I totally agree with you Nadeem. Everybody can work with a well
architectured CMS, whatever patterns it is following.
A CMS is for content and when specialized requirements has to be met its
the way I would go.
My only problem is that *you* created a framework, use it into production
for client, and do not promote or get a community around it.
Not that creating a framework is bad. But think that other people WILL have
to dig in *your *code. Whatever standard it is using.
Not to mention that it may not have a as well documented API and guides as
an enterprise-level framework would.
Think of Symfony2 or Zend2 for instance.
My opinion is that; if you have the skillset to create your framework. Why
not contributing to an existing one?
For my side. I do not have yet the skillset to create a framework or use it
for my client.
Most importantly. For my clients.
I would, someday, create my own. But only to understand *why* some pattern
is used or not.
All about my choices follows the *NIH *approach.
NIH as in "not invented here".
On the NIH point of view, you may also like to see Derek Strobe's blog post
(
http://iamproblematic.com/2012/03/07/getting-over-the-not-invented-here-mentality/)
about
it, it inspired me much.
The overall idea is that Instead of charging for my time implementing
dependency injection, i'll use an existing one.
*Choosing a library*
When I saw your note about the templating engine. Please, there is a lot of
it.
No need to reinvent markup Tokenizers.... Mustach, Twig or even Laravel's
templating engine.
Even Twig would make you create your own
tokens<http://twig.sensiolabs.org/doc/recipes.html#customizing-the-syntax>
.
I purposefuly NOT chose Smarty because we are talking about (at least)
PSR-0 libraries (see php-fig, below).
We want to think of next year, not 3 years ago.
*Maturity*
*
*
Talking about maturity. Symfony2 is already 2 years old (compared to Zf2
who is less than a month).
If it is not only about maturity. Think that the PSR group is a cconsortium
of quite a few communities who decided to standardize the way to structure
libraries so they are inter-operable, PHP FIG was created for
this<http://www.php-fig.org/>
.
See below...
*Drupal, Joomla etc.*
The php-fig <http://www.php-fig.org/> now. We were talking about CMS.
I have the feeling that someday CMS will be only a GUI (think Mercury
Editor<http://jejacks0n.github.com/mercury/>or with
ContentEditable<http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#editing-0>)
to a Storage engine (as a Content Repository) <http://phpcr.github.com/>.
I think my links will say a a lot :)
Not imagine you want to deploy your site with X, Y and Z?
{
"require": {
"myown/vendor": "master",
"external/lib": "3.1.*",
"external2/template": "master"
}
}
Or see http://getcomposer.org/doc/00-intro.md using http://packagist.org/
*All in all...*
*
*
*
*
Nowadays. If you are still:
1. Manually using require_once(...)
2. Adding database queries in your view (WordPress? x_X)
3. Using loops and query hidden in a ... templating engine
(ExpressionEngine "loops" x_X)
You may need to see the reference I made in this thread :)
My argument goes as following, mostly for what my (our) clients pays us for:
- Learn and make good use of framework that has a reputation, good
architecture, modular, inter-operable with other, in PHP is not a chimera
anymore.
- NIH please
- Build functionality for the client who pays you. not maintain the
serializer service mechanism... framework do that stuff. client do not care
about it :)
- SOLID principles?
- Scaling? (only one database? what if I need to go deploy on a PaaS
solution?)
<rant/>
--
Renoir Boulanger
http://renoirboulanger.com/
~
On 2012-09-21, at 8:48, "Nadeem Hosenbokus" <nadeem at nadeemh.com> wrote:
> Would another developer find it easy to maintain a site built on my
> framework? I think so. They'd need an understand of objects in PHP and
class
> abstraction and then the rest is pretty straight-forward. It's a PAC
> architecture which makes it easy to have modules and the templating system
> is very standard.
*Standards are so nice, so many to choose from :)*
*
*
*
*>
> In all, I'd say yes, another developer could maintain one of my sites.
>
> This thing about reinventing the wheel keeps niggling at me though. I can
> put together a site like mine in less than half an hour (design aside)
with
*Of course, you did it ;)*
> my framework. The CMS I have allows me to add/remove pages and manage
their
> content in as many languages as desired. Would I be able to do the same
with
> Drupal or Joomla if I put in the time to learn them?
*
*
*How can oneself beat hundreds?*
> My framework is available online if you'd like to take a look:
> http://nadeemh.com/osprey/
*Nice you did it!!*
*
*
*Now, have a look at Composer and imagine the bundling :)*
> It's not nicely bundled with an installer and it is only online because I
> was seeking collaboration to see if it was worthwhile and to improve it.
> It's not a solution for the public but rather for PHP developers and
graphic
> designers.
>
> Nadeem Hosenbokus
> (230) 766 9169
> www.nadeemh.com
>
>
>
> -----Original Message-----
> From: thelist-bounces at lists.evolt.org
> [mailto:thelist-bounces at lists.evolt.org] On Behalf Of Sarah Adams
> Sent: 21 September 2012 16:16
> To: thelist at lists.evolt.org
> Subject: Re: [thelist] searching and JSON
>
>> Now I can use my framework for pretty much anything so I stick with it
> because it does the job and I know every single line of code making it
> easier to maintain and expand.
>
> I think this is the crux of the matter. If you were a Drupal expert
> you'd probably find it just as easy to add new features to a Drupal
> site, or maybe even easier since there is a ton of already-built stuff
> out there, so there's no need to reinvent the wheel. So what happens
> if you end up passing of the development/maintenance of a project to
> someone else? Would they find it easy to navigate your framework?
>
> Sarah
> --
>
> * * Please support the community that supports you. * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !
>
> --
>
> * * Please support the community that supports you. * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !
More information about the thelist
mailing list