[thelist] Why would I NOT use my own framework for my client's work

Martin Burns martin at easyweb.co.uk
Tue Oct 2 18:01:36 CDT 2012


Some (~12 - getting old) years ago, I expressed the view here that were exactly 3 good reasons for creating your own framework/application in an existing mature space:

1) you want to learn. 
Linux of course started this way

2) you think you can sell it
Good luck with this one; it's not impossible, but tough. This also includes creating a consulting business for yourself in which case, you'll definitely need wider adoption than you can sell into, hence a community of some sort. 

3) Ego and/or Fun
This isn't A Bad Thing at all - the sense of "I did that" is entirely OK

Now there's often a challenge to this of "but I have unique needs" however my experience is that this is incredibly rare and can nearly always be achieved by customising on top of existing work. Drupal plugins have done a great job in this for example. 

So I expressed that opinion 12 years ago and in that time haven't seen a lot of contradictory evidence. 


Cheers
Martin


“Best efforts and hard work only dig deeper the pit we’re in.” 
- W. Edwards Deming
___


On 2 Oct 2012, at 03:30, "Renoir B." <renoirb at gmail.com> wrote:

> 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 !
> -- 
> 
> * * 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