Custom Website VS Drupal/Joomla/Wordpress [closed] - php

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I would like to develop a pretty complex website, like a network with many functionalities, with 2/3 kinds of users, affiliates, stats, apps and hundreds maybe thousands of pages, notifications, multi layered users area, and much more.
With time passsing, I get more ideas and the site and its databases gets more and more complex and I would like to always be able to improve it, enhance it, to be able to build new modules and functions.
for now The site has its own php CMS for content publishing, application and member management, etc
The thing is I am not sure if to build it from scratch in PHP or rebuild it with Drupal, Joomla, Wordpress or any other CMS out there.
What do you think?

It's hard to say. It depends on your experience level and the time you have to spend on the project. I can't say one way or another, but I can recommend a few things if you do it from scratch.
Use a template engine, such as Smarty, so you only have to create a few 'real' pages. Their syntax is a lot less bulky than PHP.
Stick with OOP PHP when you can, especially if you are doing a lot of repeat queries. I use my own PDO class with my other classes, and it's much easier to manage.
Spend some time figuring out exactly what you want for you database structure and then check out using some UML diagrams to make it easier to visualize. That'll save you a lot of time.
Use some HTML Framework, like Bootstrap or Foundation 4. They offer great platforms for you to start with decent looking website templates.
Again, depending on the size, a CMS may be better and they offer thousands of plugins, but you are confined to the features that they have to offer. On the other hand, custom PHP will take significantly longer, but you can definitely customize to what you need. I've done it both ways, so I won't recommend one specifically. I think it will just depend on how large it really is. Also, keep in mind that if you bring new developers on to your project, you will have to explain all the inner workings of your project, so that may be a deciding factor as well.

If the site is going to be that big, then custom PHP will take a very long time. Not only will you have to write everything, but then the extensive testing + bug fixes will also be extremely time consuming. However if you do have the time for it, providing you developed it using good coding standards, the loading speeds would be faster than using a CMS and you would of course have more flexibility.
On the other hand (and I'm not going to recommend a CMS as everyone has their own opinions), using a CMS will save you an major amount of time and will of course provide you with a stable developing environment and framework to work with. Not to mention you have thousands of extensions for each that are available to use, which again, saves a lot of dev time.
In the end, the choice is entirely up to you. If it were me, I would decide based on the deadline.
Hope this helps

Related

Is a php framework really make a very big(or all) difference in performance e.g Yii vs phalcon [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
OK let me start from the start, I have joined a new team of 5 people for a new and very large project with huge traffic. I have 4 year experience and others are like 10+ experienced. Discussion was on selecting a php framework to build application. There concern and plan was to select a fastest framework. They came up with Phalcon( No one ever worked on it before), I added my views on it in discussion that with phalcon we can not dig into code and their community is not very large so if we got stuck somewhere it gonna be difficult for us to meet delivery dates (company is very concerned about delivery dates) But they reject my views by saying no other frameworks are slow, they can't handle large traffic and ultimately response time would be very slow if we go with some other framework. I countered, Project performance not very much depend on framework (yes its do, but just framework can not make a project faster) but more on the right implementation of it like optimised code, good caching mechanism, good server configuration but they rejected my all opinions putting some figure like
Phalcon is 50 times faster than Yii (I was recommending Yii), GO language is 70 times faster than PHP etc.
My question is from experts here, does frameworks really make this much of difference Because I am not at all satisfied with their points and also with the figures they told me like 50 times faster I don't know from where they got it.
Sorry for bad English, it’s not my native language.
Phalcon is 50 times faster than Yii (I was recommending Yii), GO language is 70 times faster than PHP etc.
TL;DR: So what if they are?
We've arrived in a day where adding a newer/faster server costs a fraction of the price of adding a developer.
If I have to chose a tool/technology for a new project I do it because:
1. I can either work with it/learn quickly how to work with it
A developer is expensive. The more time they can be productive, the better.
2. It is well supported and maintained (preferably by an OS community)
If a bug or a security issue is discovered, it should be fixed quickly. If a new version of PHP comes out, I want the tool to still work (or follow quickly).
Personal note: For that reason I've always been a bit afraid of Phalcon. Even though the PHP API version doesn't change that often, the idea that I need a compatible extension for anything of my site to work is terrifying.
3. It makes it easier for me to maintain my code.
As I mentioned: Speed is relative. I will never chose a tool because someone claims it is X times faster than Y. I need something that allows me to write code that is easily maintained. Developer time is very expensive compared to adding a new instance on AWS. So I write my code for clarity and supportability, not speed. Who cares if a template is rendered in 0.001 or in 0.0005 seconds.
4. It helps me achieve my goals without getting in the way.
Some frameworks expect you to use their code for everything and don't allow you to do anything on your own (Yes I'm looking at you Symfony!)
In that sense I've loved Yii from the day it was released: It has support and extension for anything but if you want to do things yourself you're allowed to.
It won't get in your way because its simply a set of building blocks that are there if you need it. I think that Yii2 has continued and improved on this.
But hey, since I've discovered this question via the Yii2 tag, I'm obviously biassed.
In all... Speed does matter, really. No one wants a slow site.
But it should be the very last deciding point, after every other demand was met.
The total cost should be the deciding factor.
FYI:
You are right about Yii being quick. Safe for Phalcon (but nothing beats a compiled extension in performance) it was the framework with the quickest "boot time" for quite a while back then.
It may help in reducing the lines of code which does not necessarily mean that the project will be finished faster.In my case,i'd prefer to use an MVC since i'm more conversant with some frameworks.

What are my scripting options for a library/framework for building a web app [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I am investigating building a web app.
I know systems like Twitter Bootstrap provide a great starting point for front end design but what are the options for back end, preferably PHP/mySQL but I am open to anything. I have searched around a bit but I am not sure I have the right terminology because all of my searches have brought up nothing close to what I need, so I can only assume I'm looking in the wrong places.
There are plenty of scripts out there that will create a youtube clone for example; and what I need will be similar to this but it will not be video site. My app will be geared up more towards managing and creating lists, information, tags, files ( like .doc .txt etc maybe ). I haven't actually gotten the content part worked out fully yet and I don't expect the base system to be able to handle that part necessarily but what I would like for now is if I could find some library/framework that would allow me to experiment with different content configurations.
What I need from this framework specifically is some kind of system whereby people could register and thus have a login, profile page and have variuous (private) things associated with their account ... ( again I'm not sure what 'things' yet but probably lists and possibly files of some kind). I will eventually probably need some kind of capacity to share things between members. There seems to be a library/script for everything else out there so I thought there might be something for the basis of a membership system.
So
a) can someone suggest the correct terminology I would search google for this - I was trying "portal" script and membership site but I got nowhere
b) does such a thing exist and can anyone suggest anything in particular.
One more important thing. The project is in the very early stages and has no budget so I am pretty much limited to Open Source Freeware, though I welcome any paid for solutions regardless
PS I have developed with WordPress for years now and I know I could probably squeeze this out of WordPress with a few plugins and CPT work but I really feel it might be asking too much and I'll get scaling issues earlier than I need to.
You would want to determine what language you will build the system in.
PHP/MySQL frameworks include Yii, Symphony, Zend and more. Google PHP Frameworks.
if you want to go with Ruby with a rails framework then you can look into that. Rails for Zombies is a good place to start learning Ruby On Rails.
You are referring to this as a "Portal" but I would not be searching for that. I would be looking at web applications. I build a lot of these types of applications in Yii framework with PHP. If you are familiar with wordpress, then perhaps PHP would be a better option. If you do go with PHP on a Yii framework, then consider learning how to use the Gii code generator. This will help you make tables and lists and manage records. I started with this book: http://www.amazon.com/dp/1847199585?tag=gii20f-20&camp=0&creative=0&linkCode=as1&creativeASIN=1847199585&adid=0BHF2HS6FNS82M85KJQT and it showed me everything I needed to know about the framework. It also is good if you are still quite new to PHP and Object Oriented Programming.

When can I start using a Framework (Laravel)? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I want to start by saying that I searched a lot for this exact question, but none of them satisfied my needs.
I program Php, MySQL, HTML, CSS and Javascript the 'old way', using just a text editor and building every website from scratch. I built websites from the most simple to an-almost e-commerce just by coding every piece of the application. The most advance thing I did was using some simple classes, like a database wrapper, singleton, and for the rest I always used functions.
Now, recently I signed up for a website where there are courses ( I won't say its name because I don't know if I'm allowed ) and I followed one about Laravel 3 ( I know currently its version is 4.x ), and I must admit I fell in love with it. I like it very much and I want to start using it but I'm afraid that doing so will 'dumb' me.
What I mean is that Laravel has a lot of helper functions, Eloquent structure and so on, so by using it I won't learn any more the pure Php because for everything you need there is already a built helper function.
To make a very simple example, if you want to join some tables you use Eloquent and within literally 3 second you accomplish this. If you want to log a user in, again you have an Auth class that does everything for you, even setting sessions.
This is my biggest fear, that I won't learn anything anymore because all you need is already provided, you don't have to think that much anymore.
On the other side, Laravel helps you a lot and it eases your work very much. As much as I want to start digging into it more I can't help but fear its downsides.
So, do you think I should wait and learn more traditional Php before dive into a Framework?
When is the right time to start using one?
Look at all the sites you built. Identify redundant elements. Extract them into classes and functions and build your own framework. This will allow you to build sites faster and build a library. Once you do that, there's no dumbing down. You can choose to use another or not... but you'll have yours too.
That's what I did. I have my own framework. And it ain't bad!
There are two types of developers:
users - they can use stuff and get by
actual developers - they can build stuff from scratch and give users tools
Choose which model fits your needs best.
1st category goes for quick results, are efficient and get the job done. These guys should use 3rd party frameworks and libraries.
2nd category are artists pushing themselves further with each new piece of code they build. They go for performance over turnaround time, code beauty and functionality vs. just functionality, etc... These guys feel offended by 3rd party frameworks and libraries and always roll their own. Because they can!
There's another catch. Some frameworks might have too much fat for your needs. Building more specialized solutions might actually yield way better performance than a one-size-fits-all framework. That's another perspective.
Bafta mai departe :)

Should a CMS be used for a photographer portfolio web site? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
My friend photographer asked me to develop a portfolio web site, and I'm wondering if a content management system (CMS) should be used for this purpose? The website contains a minimum of dynamic stuff, mostly just photo galleries and a "Contacts" page.
I have some experience in development using PHP frameworks (Yii and CI), so it makes me wonder what is the most effortless and effective way to do develop this:
a) use some kind of CMS (will take time and effort to learn and
customize CMS to fit my needs)
b) develop a website from scratch using MVC framework (need to write
more code, but more control over the development flow)
Any tips from people experienced in developing those kind of websites is much appriciated. Thanks.
I think the biggest benefit of using a CMS is that, once you've put the site together for them, you should be able to hand control of the site completely to your friend because a CMS will already have all of the admin interfaces worked out for (in your case) adding pictures and making other small changes to the site.
Even if you are good friends, the last thing that you want is an email every month just to add some more pictures to the site. Rolling your own admin interface is certainly possible, but it will take more time and will most likely not have as many options as most major CMS's will provide.
Save yourself a lot of time and headache. There are some good CMS solutions for photography portfolio and they are pretty easy to learn. And your friend needs only standard, basic functionality (galleries, static pages and contact form), so there's no need to customize the code, only templates.
CMS platforms I would recommend:
Wordpress http://wordpress.org
ZenPhoto http://zenphoto.org
Building a website with a solid CMS has lots of benefits, e.g. saves time, gives you all required tools, those CMSs are well tested, secure and stable (not all but WP and ZP definitely are), they provide SEO tools and SEO-ready code (if you choose or create proper theme/template) etc. And with both of these CMS platforms it's really easy to upgrade without any pain.
c) A mostly static site that only uses server-side code where absolutely required.
If he is a photographer it's not a good way to use any auto-resizers that are built-in in many popular CMS, e.g. And you're right learning these CMS won't give you flexibility for further upgrades of the site (which cannot be avoided). So as a developer I always avoid Joomla and any like it. I don't have sufficient clearness and flexiblity with them, this is voice of my experience.
If you use Yii, I can offer you flexible extension exactly for your skills and situation:
AutoAdmin CMS framework for Yii
With it you can just design a database as you want, program front-end as you want (you're a programmer, aren't you?), and configure your back-end panel very quickly - exactly for your DB structure.
Or of course you may search something like it. Using Yii with extensions gives you a standartized site, which can be easily upgraded in future. Instead of Joomla-like systems which will always be oriented on customers of in-box solutions (with all following negative for skilled developers).
With mvc frameworks you get URLs that reflect your controller and action structure. This is not 100% what you want for search engine optimization. You could write your own URL dispatcher of course, if you know how to do it. Frameworks are best suited for web applications and not websites.
So better use a cms. I heard that contao (formerly Typolight) should have most functions built in and should be easy to learn ( in a day or so )
I dont CMS is necessary here, but if you want to you can try using wordpress and install a built in theme something that suits photography.

As a new back-end programmer, is it common to rely on front-end people to handle all CSS? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Been doing a lot of Php & MySQL programming over the past 3 or 4 years. I really enjoy it, and all its related back-end technology.
I'm mostly doing freelance work here and there, but I am not a design guy, and really don't enjoy tinkering with CSS trying to make it work :)
My question is, is it ok to just be good at the server-side end of things, and outsource / team up with a good CSS person? How about in the context of things like Wordpress, Drupal, Cake, etc? Do people expect they're you to setup all their Wordpress functionality, and implement their Photoshop files into designs as well?
I really speaking from a freelance point of view, and not so much working in a major company with tons of programmers / designers.
The very best designers aren't usually the very best developers, or vice-versa. It seems like you would benefit from finding a good partner who excels in design to complement your focus on back-end programming. No need to hide that from those who hire you.
However, even if you're not great with making things look pretty, you should probably be familiar with the code the designers use to make things look pretty. It comes in handy, and you'll at least be able to construct basic designs for prototyping, and eventually reasonably clean, solid designs for final products. And, if a basic change in an existing layout is needed, you won't be afraid to make it yourself. It's a skill set worth building.
The key for me has been finding a frontend or backend person who has a general enough understanding of the other side works so that you can coordinate enough for him to say
"Ok if we want this element to look like this I need your php function to generate a with a unique id etc. My most successful projects have been with developers who specialize in a certain thing but still maintain general knowledge of all the different aspects that go into a project.
From my experience, doing "freelance website work" means you end up doing all of the work on your own, but don't get me wrong, building a website these days is extremely easy in most cases and I would suggest you learn CSS if that is what you want to continue doing. Web applications are a different story.
From a freelance perspective, it depends on how much you're willing to to spend outsourcing to your css/design person. A client is only going to be willing to spend X on the project, it doesn't matter to them how it gets done (or shouldn't). So as long as you don't mind slicing off a percentage of X to pay the designer, that should be fine. Especially if it's not going to be a client you maintain sites for.
Having said that, though, if it's a customer you're going to have to maintain and make changes over time, you're going to really want a background in the design aspect. At least enough to make minimal changes. A complete redesign will probably require outsourcing again.
This is approximately the model I've set up. I'm absolutely horrible with photoshop/graphic creation, but the html + css aspect is not hard.
I had an internship that I mainly did back-end work and the little front-end work was the minutae of moving elements pixel by pixel. That gave me a strong distaste for front-end work. But I am in a similar situation as I've primarily been a back-end person and am now transitioning to more front-end work.
My advice would be to get comfortable enough with CSS and the blog/cms frameworks so that you can tweak them and make small modifications. If a client comes to you and starts saying how they want the front-end to look and you have a blank look on your face or are unable to give a reasonable estimation of how much time it will take to implement the updates (or if it's even possible) that will be a big dissuading factor in their eyes.
Don't be afraid of getting deeper into front-end design as well, it improves your marketability not having to rely on others for a portion of the project.
From my personal experience, heightening you experience in the basics of front-end develop will benefit you for more than one reason. Sometimes the best way to deliver a usable front-end requires specialty programming on the back-end. If you can except what will be happening on the front-end, or even developing the barebones of it yourself, that will help greatly.
You might be asking yourself, "Okay, that doesn't really answer my question?" but in fact it does. It's Web 2.0+ out there... clients expect beautiful, dynamic, and easy-to-use websites. This often requires the use of JavaScript and how it interacts with your server scripts and the CSS, layout, and design of the page.
So, in short, if you're wanting to do freelance stuff, in my opinion, it would be worth your while to expand your horizons. I honestly think the gap between "Web Developer" and "Web Designer" has been slowly closes over the years.
Personally, I work for the computer support department of a state University and all the websites we do are both written and designed by myself without any "outsourcing" of my work. I can do what I need, I can make changes on the fly without waiting for another person to do, and I can test immediately. All three are huge advantages in our environment.
One aspect I wanted to direct your attention to is the choice of your development framework. If your framework supports MVC (model-view-controller) separation, then it's very natural for a developer to work on the M and the C, while the designer (CSS/HTML professional) works on the V component. This creates a great workflow and a good separation of responsibilities - and you can work on two separate files at the same time! They're on HTML peppered with some tags, you're on the logic.

Categories