[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