Jump to content


Photo

Custom vs opensource


  • Please log in to reply
6 replies to this topic

#1 gvp16

gvp16

    Advanced Member

  • Members
  • PipPipPip
  • 85 posts

Posted 28 October 2013 - 03:02 PM

I know this question has probably been asked over and over but im interested in getting some opinions in my particular case.

 

I need to develop a system which will be used to generate custom content for a website. There isnt anything over complicated taking place but that doesnt mean there wont be either! Im talking database queries, and some logic. So the question im asking my self is to write a custom application (mvc) or use a frame work. But before everyone starts chanting to use a frame work consider the following points.

 

Reasons to build custom:

I am the only developer in the company, and will be for some time.

Some of the modules needed will be very bespoke and I need full control over everything.

I dont currently know any frameworks and will have to learn one, during this time I could complete half the application (made a small start on it) and have plenty of other things to do.

The application would be build for its purpose and nothing else.

It will be well documented so should I new developer join the team (or replace me) then along as they have an understanding of php mvc they should get on fine.

I would enjoy it to be honest!

 

With that in mind I am fully aware of the benefits of going open source, eg CodeIgniter, cakephp etc...  

Community help, plugins, lightweight, learn new skills etc...

 

Im just trying to decide what will be the best option here and if anyone else has had a similar situation.

 

Thanks.

 

 

 



#2 ignace

ignace

    Now mod flavored

  • Moderators
  • 6,266 posts
  • LocationBelgium

Posted 28 October 2013 - 03:51 PM

I am the only developer in the company, and will be for some time.


You need a framework BECAUSE you are the only developer in the company. This will make it easy for the company to find someone after you leave or to help you develop it. It's easier to put out a job ad "Knows framework X" then to put a general job ad saying "Knows PHP and willing to learn in-house framework that you will NEVER EVER use again in the rest of your career and is thus of zero-use to you but our business depends on it."

Don't be lazy, and don't take shortcuts, learn a framework, I highly suggest symfony as that means half of your application will be written by simply installing a few bundles from KnpLabs and FOS. So, you have all the time you need to learn symfony.

Edited by ignace, 28 October 2013 - 03:56 PM.


#3 delaiah

delaiah

    Member

  • Members
  • PipPip
  • 16 posts

Posted 18 November 2013 - 12:23 PM

In addition to what ignace said:

 

Don't build your own unless you're an experienced developer who's worked and read a lot of other people's frameworks AND there's a good reason for building one from scratch. Building your own should come from a specific need and experience, not from not being willing to learn something new. 

 

Also, you'll find yourself reinventing the wheel, there's not really a good reason from that. You'll learn more from reading other people's code than from figuring stuff out yourself.

 

In case you're already familiar with a different language and work with PHP now, please, don't build a framework based on what you saw in another language. It results in solutions that are totally counter-intuitive in PHP and feel awkward in many situations (speaking from experience).

 

I personally started with Zend - it was pretty hard when I started out, but it also gave me some solid fundamentals and I learned a lot. I appreciate that now.



#4 martov

martov

    Newbie

  • New Members
  • Pip
  • 6 posts

Posted 18 November 2013 - 05:44 PM

Hi ,

By my opinion  if you have the opportunity to invest some time in learning a framework this won't hurt either you or the project. Even if you have more time may consider ORM.  



#5 dalecosp

dalecosp

    Advanced Member

  • Members
  • PipPipPip
  • 307 posts
  • LocationJoplin, MO

Posted 18 November 2013 - 06:01 PM

I know this question has probably been asked over and over but im interested in getting some opinions in my particular case.

 

I need to develop a system which will be used to generate custom content for a website. There isnt anything over complicated taking place but that doesnt mean there wont be either! Im talking database queries, and some logic. So the question im asking my self is to write a custom application (mvc) or use a frame work. But before everyone starts chanting to use a frame work consider the following points.

 

Reasons to build custom:

I am the only developer in the company, and will be for some time.

Some of the modules needed will be very bespoke and I need full control over everything.

I dont currently know any frameworks and will have to learn one, during this time I could complete half the application (made a small start on it) and have plenty of other things to do.

The application would be build for its purpose and nothing else.

It will be well documented so should I new developer join the team (or replace me) then along as they have an understanding of php mvc they should get on fine.

I would enjoy it to be honest!

 

With that in mind I am fully aware of the benefits of going open source, eg CodeIgniter, cakephp etc...  

Community help, plugins, lightweight, learn new skills etc...

 

Im just trying to decide what will be the best option here and if anyone else has had a similar situation.

 

Thanks.


This depends highly on "who makes the decisions" about what the site/project is able to do.

If management is willing to accept that a module may not be available for the requested functionality, a framework should do fine.

If management is NOT willing to be told this, you will either need a good customization module for the selected framework, or you'll end up turning your framework-based project into a hybridized installation that loses the benefits that you chose the framework for in the first place....

My two bytes ;)


Edited by dalecosp, 18 November 2013 - 06:01 PM.

"God doesn't play dice" --- Albert Einstein
"Perl is hardly a paragon of beautiful syntax." --- Weedpacket

#6 0xMatt

0xMatt

    Advanced Member

  • Members
  • PipPipPip
  • 34 posts
  • LocationPooptown, Arkansas

Posted 19 November 2013 - 04:54 AM

You need a framework BECAUSE you are the only developer in the company. This will make it easy for the company to find someone after you leave or to help you develop it. It's easier to put out a job ad "Knows framework X" then to put a general job ad saying "Knows PHP and willing to learn in-house framework that you will NEVER EVER use again in the rest of your career and is thus of zero-use to you but our business depends on it."

Don't be lazy, and don't take shortcuts, learn a framework, I highly suggest symfony as that means half of your application will be written by simply installing a few bundles from KnpLabs and FOS. So, you have all the time you need to learn symfony.

 

I disagree. If you build your own framework and document the code well, it'd be quite easy to build documentation with tools like apigen or phpdoc, making it easy for developers to understand. Actually, doing that is anything but lazy.

 

Also, say a big company like facebook uses their own framework(if not, the example still stands) which is proprietary. So if I get hired by facebook and later decide to leave, will my knowledge of that framework be 100% useless? In a sense, yes, but only in the sense that I can no longer use their framework. What matters is that you get to broaden your horizons and open up your eyes to new perspectives. That is what PHP and programming in general is all about: learning, creating and then doing it better, over and over again.

 

Nothing is ever useless if you put your time and effort into it, trial and error.


Friend of the night.

My Project


#7 neil.johnson

neil.johnson

    Advanced Member

  • Gurus
  • 3,580 posts
  • LocationLiverpool, UK

Posted 19 November 2013 - 06:36 AM

My question is, Do you even need to use a Framework for this project in it's current state?

 

 

I need to develop a system which will be used to generate custom content for a website. There isnt anything over complicated taking place but that doesnt mean there wont be either! Im talking database queries, and some logic. So the question im asking my self is to write a custom application (mvc) or use a frame work. But before everyone starts chanting to use a frame work consider the following points.

 

From what you have stated here it seems that a framework may be overkill for adding a bit of logic to pull some content from a database or a simple CMS to add content. You could put that together in a few hours. If your project specification is complex, then yes, I would use a framework. I would definitely not reinvent the wheel and write my own. IMO this will take longer to do as opposed to starting with a framework that has good documentation such as CodeIgniter. 

 

It seems to me that you are wanting to learn how to put a framework together. This is good, however I would do this as an exercise after working on this project. If you use a current framework you will get an idea of what needs to go into it. It will be a good exercise to improve your skillset, but it will take a bit of time.

 

 

Some of the modules needed will be very bespoke and I need full control over everything

 

This is not an issue. Frameworks are adaptable and extendable. If you have never used a framework I think you are just assuming that you won't be able to do something.


To start, press any key. Where's the 'Any' key?





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Cheap Linux VPS from $5
SSD Storage, 30 day Guarantee
1 TB of BW, 100% Network Uptime

AlphaBit.com