أيهما افضل Frameworks أو CMS؟
الفرق بين Frameworks أو CMS؟
الفرق بين فريم ورك ونظام إدارة المحتوى؟
Framework VS CMS
ماذا نختار لنبدأ برمجة مواقع الإنترنت ...
هناك الكثير من المقالات التي تتحدث عن أطر وأنظمة CMS. ماذا تختار؟ الذي هو أفضل؟
ومع ذلك أردت أن اساهم بهذه المقالة بعد الاضطلاع على بعض المواقع الإنجليزية والإقتباس منها ، للحصول على منظور مختلف تماما. أولا وقبل كل شيء نريد أن نتأكد من أن المطورين يعلمون بعض هذه النظريات على فهم الفرق بين المصطلحات "CMS" و "الإطار" في الوقت الحاضر.
النظرية الأولى :
عندما نستخدم "فريم ورك" كثير من الأحيان نتحدث عن إطار تطبيق ويب. ويستند إطار تطبيق ويب ببساطة على الترميز. إذا كنت مبرمجا أو المطور على شبكة الإنترنت أن يحب الترميز كنت غالبا ما تختار إطار تطبيق ويب لمشاريعك، أما CMS هو إطار إدارة المحتوى وأنه يقوم على وحدات بدلا من التعليمات البرمجية. يمكن لأي شخص التعامل مع CMS كما أنها لا تتطلب أي معرفة التكويد. بالطبع يمكن للمبرمجين أيضا اختيار CMS لأنها يمكن القيام بعملهم بشكل أسرع.
هناك الكثير من المعارك بينهم .....!
هناك الكثير من سوء الفهم حول ماهو (فريم وركFrameworks) وما يمكن لCMS وما تستطيع القايم به. الكثير من مشجعين نظام إدارة المحتوى أي CMS يقولون أن "يمكننا أن نفعل كل شيء مع CMS" ومشجعين من (فريم وركFrameworks) "لا يمكننا أن نفعل كل شيء بها " وهلم جرا... إنها معركة ...
وأنا متحيز إلى (فريم وركFrameworks) أو كمشجع بطبيعة الحال سوف يكون لي نفس الرأي ولكن في الواقع هذا ليس صحيحا!
إذا فماذا أختار؟
في هذه الأيام تجد أن CMS هو الأكثر شعبية من (فريم وركFrameworks) أو تطبيق ويب لأنه من السهل حقا بالاستخدام . حتى لو لم يكن لديك المعرفة البرمجة يمكنك تثبيت وإنشاء موقع على الشبكة CMS.
يجب عليك أن تفكر قبل أن تختار (فريم وركFrameworks) أو CMS في تجربتي الشخصية بأربعة أمور :-
1. كم من الوقت تريد أن تنفق؟
2. ماذا تريد أن تفعل وكيف هي مرونة هذا المشروع في المستقبل؟
3. كمية المال (إذا كان يهم) التي سوف تنفقها على هذا المشروع .
4. ما بيئة الاستضافة ستكون؟
للعميل لا يهم حقا ما هي الأدوات التي ستستخدمها. الشيء الذي يهم هو أن وظائفهم القيام به.
لذلك هناك 10 معايير لاختيار الإطار الصحيح. يمكنك إلقاء نظرة على هذه المادة كما هي حقا على التوالي إلى الأمام حول ما هي المعايير الحقيقية لاختيار فعلا هذا الإطار. حتى إذا كنت تريد حقا للتحقيق في وضع إطار لمشاريعك الكبيرة، لديهم في الاعتبار أنه هو التزام على المدى الطويل، لذلك تأكد من أن جعل الاختيار الصحيح ... بالنسبة لك!
ماذا عن CMS؟
على الجانب الآخر أنها ليست سيئة جدا لمعرفة البرمجة وأيضا أن يكون "CMS الرجل". كما ان الظن السيئ عن ذلك هو أن تكون العديد من "الرجال CMS" التي ليس لديها أي معرفة البرمجة وأعتقد أنها يمكن أن تفعل كل شيء مع CMS. وهذا هو أيضا أسطورة! عندما كنت أتحدث قبل ذلك مع CMS يمكنك أن تفعل كل شيء كما كان لديك نفس القاعدة فإنه يعتمد أيضا إذا كان لديك بعض مهارات البرمجة الأساسية بالطبع. إذا لم يكن ثم يمكنك أن تفعل كل شيء بقدر السماح للمبرمجين / مطوري الويب لديك. لذلك رأيي هو أنه إذا كنت "CMS الرجل" و لم يكن لديك أي معرفة البرمجة انه لامر جيد للبدء في تعلم بعض الأشياء الأساسية ومحاولة لخلق الوظائف الاضافية المخصصة للCMS من نقطة الصفر.
على الجانب الآخر أنها ليست سيئة جدا لمعرفة البرمجة وأيضا أن يكون "CMS الرجل". كما ان الظن السيئ عن ذلك هو أن تكون العديد من "الرجال CMS" التي ليس لديها أي معرفة البرمجة وأعتقد أنها يمكن أن تفعل كل شيء مع CMS. وهذا هو أيضا أسطورة! عندما كنت أتحدث قبل ذلك مع CMS يمكنك أن تفعل كل شيء كما كان لديك نفس القاعدة فإنه يعتمد أيضا إذا كان لديك بعض مهارات البرمجة الأساسية بالطبع. إذا لم يكن ثم يمكنك أن تفعل كل شيء بقدر السماح للمبرمجين / مطوري الويب لديك. لذلك رأيي هو أنه إذا كنت "CMS الرجل" و لم يكن لديك أي معرفة البرمجة انه لامر جيد للبدء في تعلم بعض الأشياء الأساسية ومحاولة لخلق الوظائف الاضافية المخصصة للCMS من نقطة الصفر.
وأخيرا خاتمة ...
وكخاتمة أود أن أقول أن ذلك يعتمد دائما على ما تريد القيام به وكم من الوقت لديك للتعامل معها. وأعتقد أن كل وسيلة لبناء لسبب ذلك العديد من الأدوات التي تعرف (الأطر أو CMS)، ومرنة لذلك كنت كمطور المهنية. لذلك لا يستحق أن يكون CMS أو مروحة الإطار. مجرد اختيار أفضل وسيلة بالنسبة لك الوضع وهذا كل شيء.
وكخاتمة أود أن أقول أن ذلك يعتمد دائما على ما تريد القيام به وكم من الوقت لديك للتعامل معها. وأعتقد أن كل وسيلة لبناء لسبب ذلك العديد من الأدوات التي تعرف (الأطر أو CMS)، ومرنة لذلك كنت كمطور المهنية. لذلك لا يستحق أن يكون CMS أو مروحة الإطار. مجرد اختيار أفضل وسيلة بالنسبة لك الوضع وهذا كل شيء.
المقالة الأصلية ...
A Framework or a CMS? What is better to choose?
There are lot of articles who are talking about Frameworks and CMS systems. What to choose? Which is the best?
However I wanted to write an article from a totally different perspective. First of all I want to make sure that developers and customers understand the difference between the terminology “CMS” and “Framework” nowadays.
Some theory first
When we use the terminology “Framework” we are more often talking about Web application framework . A web application framework is simply based on coding. If you are a programmer or a web developer that loves coding you often choose a Web application framework for your projects.
A CMS is a Content management framework and it is based on the modules rather than code. Anyone can handle a CMS as it doesn’t require any coding knowledge. Of course programmers can also choose a CMS as they can do their job faster.
There are lot of fights…
There are lot of misunderstandings about what a framework and what a CMS can do. Lot of fans that use CMS they are saying that “We can do everything with a CMS” and the fans of the frameworks are “No we can do everything with a framework” and so on… As a fan of frameworks of course I will have the same opinion but actually this is not true! The truth is that as we use the same base (PHP,RoR,python,. NET… e.t.c.), we all can do everything (well almost everything, but still). Even the myth that CMS doesn’t use a good structure isn’t truth. For example Drupal 8 is based on Symfony framework, a very good object oriented web application framework.
So what do I choose?
Nowadays the CMS is more popular than the Web application Framework as it is really easy to use it. Even if you don’t have programming knowledge you can install and create a whole website with just a CMS. So what to choose?
It is always about four basic things that you have to think before you choose a framework or a CMS in my personal experience:
1. How much time you want to spend?
2. What do you want to do and how flexible has to be this project in the future?
3. How much money (if it matters) you will take after the end of the project.
4. What the hosting environment will be
For the customer it doesn’t really matter what tools you will use. The thing that matters is to have their job done. So let’s have an example:
I will explain to you my choices about two personal projects and one normal project. This blog and www.grocerycrud.com. First of all I am a PHP web developer so I can choose either a PHP framework, either a PHP CMS.
So for this blog that you are reading right now, I used WordPress as:
1. I wanted to spend as less time as I could as it is a simple blog
2. I didn’t want to do anything extreme. Just the usual. SEO, caching, comments, nice design and less spams!
3. I will not make any profit for the creation of the project. So I don’t have as a criteria the money.
4. Free to choose.
For grocerycrud.com I choose Codeigniter framework as:
1. I wanted to spend a normal time to do it. Not too much as this is a personal project
2. I wanted to be 100% extendable as I am changing the structure all the time with new ideas. For example now I am preparing a new mini website inside the grocerycrud.com (www.grocerycrud.com/image-crud).
3. Still the money doesn’t count here as it is a personal project
4. Free to choose
For www.dailyfx.gr I chose Codeigniter framework as
1. I had only 1 month deadline for me to do it from scratch
2. It was a system that the clients wanted some extremely custom webpages (such as with an internal connection with java applet charts). I didn’t choose wordpress or drupal as it would require more time to customize all of these unique needs.
3. For money nothing more than my normal monthly salary. So the money was not something to motivate me
4. Just another shared hosting
I want to investigate more
As I said only in my personal experience are 4 simple things that I have in mind but this is only because the outsource projects that I have are often small projects so that’s why I have only these four things in mind. Of course if I want to investigate more time I think a Web Application framework is the solution and I can give you much more criteria to have in mind. As the Symfony webpage says:
You’re making progress and that’s a good thing! You already know that you are going to use a framework to develop your site or your application. But which one? Here is a checklist that you can use to avoid making a mistake:
So there are 10 criteria for choosing the correct framework. You can take a look at this article as it is really straight forward about what are the real criteria to actually choose a framework. So if you really want to investigate to a framework for your big projects, have in mind that it is a long-term commitment, so make sure that you make the right selection… for you!
What about a CMS?
On the other side it is not so bad to know programming and also be a “CMS guy”. The bad think about it is that they are many “CMS guys” that don’t have any programming knowledge and think that they can do everything with a CMS. This is also a myth! When I was talking before that with a CMS you can do everything as you have the same base it also depends if you have some basic programming skills of course. If not then you can do everything as far as the programmers/web developers let you have it. So my opinion is that if you are a “CMS guy” and you don’t have any programming knowledge it is good to start learning some basic stuff and try to create your custom plugins for the CMS from scratch.
And finally a conclusion…
So as a conclusion I have to say that it always depends of what you want to do and how much time you have to deal with it. I believe that every tool is build for a reason so as many tools you know (frameworks or CMS), so flexible you are as a professional developer. So it doesn’t worth it to be a CMS or a Framework fan. Just choose the best tool for you situation and that’s it.