Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
Yes, I am aware one is a framework and the other a CMS.
However, I am a one man team that develops projects/websites for myself and I have a limited amount of time to get these projects off the ground, so speed is crucial.
Basically I am looking for the easiest and fastest method for creating web apps without being limited on features.
Would it be best/fastest to learn Codeigniter or to build off of Wordpress and develop my own themes/plugins? Possibly another option that would be more viable?
I deal a lot with video/photo media and high traffic websites.
Thanks!
I would suggest using CodeIgniter. The logic is simple, and it doesn't really have limitations, unlike WordPress. WordPress is designed for blogs, and if you are looking for flexibility, I would go with CodeIgniter.
CodeIgniter has one of the best documentation available as well. http://codeigniter.com/user_guide/index.html
If you are looking to learn CodeIgniter, NetTuts has some great tutorials, with different levels.
http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-1/
There are some nifty CodeIgniter libraries that can get you head start on your projects:
https://github.com/benedmunds/CodeIgniter-Ion-Auth - Ion Auth, CodeIgniter Authentication Library
http://www.kaydoo.co.uk/projects/backendpro - Backend Pro, designed to build admin side of your application.
If you are looking for CodeIgniter based blog/CMS, I would also suggest PyroCMS, one of the best I've used.
http://pyrocms.com/
CodeIgniter also has a great image manipulation library built in, so you won't have to learn too much about generic PHP image libraries.
http://codeigniter.com/user_guide/libraries/image_lib.html
If what you develop is web applications, especially for high-traffic sites, then why not to also consider Doctrine? It is a really good framework for developing webapps. Regarding WordPress - if what you need is mostly webapps with extensive user interaction and complex data structures - WP can't handle that efficiently due to lack of ORM and MVC pattern support (there are a couple of workarounds, but anyway).
And if you're open to learn new languages - also consider learning RubyOnRails and Django - both are awesome platforms, documented well and having awesome communities.
I agree with tpae. Definitely WP is not meant to be used for web apps. So forget about it.
CI is great, easy to learn, and in combo with Backbone.js and Phil's REST_Controller it's a beauty to work with :) You'll be building highly responsive web apps in no time (this sounds like a commercial :D )
Related
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 8 years ago.
Improve this question
I'm in the planning stages for a new project involving eLearning and content management/delivery.
I've dabbled in Symfony2 before and I quite like it's flexibility and extensibility. But I have recently discovered EZ Publish is now running on the Symfony2 stack with version 5.
My question is, what does EZ bring to the table? Will it save me time and money in realising the end product? Or will it ultimately prove to be a hindrance if it is designed to be 'easy' rather than flexible?
Thoughts and suggestions are welcome :) Thanks for your time
It depends on how much of platform you will use for your custom logic.
If you will write most of code using Symfony components than you can use your bundles interchangeably in Symfony CMF, Symfony Standard Edition or EZ Publish.
If you want working CMS and write only handful of specific features independent of CMS functions than you can go with EZ Publish. But you still should write your code separated in bundles, so your custom logic is again nicely portable.
If you want to extend existing CMS features. Than you might want to go with Symfony CMF.
I would suggest to use Symfony CMF, which is the CMS for developers. EZ Publish is not totally migrated to Symfony, so you as a developer will still have to deal with legacy code. Also starting with Symfony Standard Edition to build a CMS you will have to build a lot of tools that are already built into Symfony CMF.
eZ Publish 5 brings you all the features you need when it comes to build a CMS based website. I'd say that 90% of the most important features from eZ Publish 4 have been migrated on Symfony2. You'll also get a really good admin interface.
eZ Publish 5 uses the full stack which makes a big difference when compared to others CMS like Drupal, especially if you need to build business features aside your CMS.
Also, the code quality of eZ Publish 5 is really good and tends to respect the last standards so you'll benefit from this choice one day or another : http://blog.insight.sensiolabs.com/2014/11/04/technical-debt-relevant-projects.html
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 6 years ago.
Improve this question
I know this has been asked a lot and I've explored the other answers, but I still have questions, so hopefully this sheds fresh insight on the debate.
A year ago I built a service scheduling web app from scratch in CodeIngniter with the following functionalities:
user management with different roles and functionalities
different backends for each user
interactive and manageable calendar for scheduling services
territory management and assignment
management for service status
reports and records
billing with authorize.net
front-end informational pages
All pretty standard stuff and codeIgniter worked great. Now, a year later, I'm revising the code. The client wants some different management features, like a CMS for the pages and to add new services and change the calculation price points, etc. I need to add new classes and code to make this work.
Over the last year I have dove very deep into Wordpress and realize that I could have built this whole app in wordpress using custom post types, taxonomies, custom fields, and expanded custom functionality though a custom plugin. In many ways, this seems like it would be better.
Pros of using Wordpress instead of php framework:
existing base with CMS, user management, familiar backend, database structure to start from, saving lots of development time
constantly updated security
stability
robustness (I know wordpress can handle this even though its intended use is for blogs)
Reasons to use a framework:
flexibility
ORM
MVC
other?
So... which is better? Do I really need ORM or MVC for this project? I feel my development efforts and client ux would be easier if I use Wordpress.
What else do I lose if I switch to wordpress?
What about combining Wordpress in a framework, or vice versa? Recommendations?
When does it make sense to use a framework instead of wordpress?
It's a fairly broad question, so here's a fairly broad answer...
Wordpress is a CMS. It's a good, flexible CMS with lots of built-in goodness, but its sweet spot is managing a site that's primarily about content, where content is very broadly defined as "words, pictures and other assets". The plug-in model lets you build/use additional functionality, and the wide user community provides lots of stability/security/scalability help.
Code Igniter is a framework that's designed for functional web apps (in practice, this usually means database-driven apps). Its sweet spot is managing complex interactions with a business domain. It is a framework for building any kind of app (including, if you were glutton for punishment, a CMS).
If your business domain is about content (and I don't think it is, based on your description), Wordpress is an obvious winner. In your case, I think you could probably build the solution using Wordpress, but it would be a real edge case - and the benefits you mention of "security, stability, robustness" would likely not apply, because you would need to build a lot of custom code. I think you'd very quickly get to the "well, it's not the way Wordpress wants me to work, but to deliver this feature, I just have to do it this way" point.
When business users say they want a CMS, they usually don't mean they want Wordpress (or Drupal, or Sitecore, or Magnolia); they want to be able to manage their site without having to go to the techies. If your site is primarily database-driven, that means screens to manage database records.
It's about structure and function in my view. Both CMS(Wordpress) and PHP Framework provide structure/functions to build your own functions. You can do the same things on CMS and Framework. They shouldn't have much difference on performance and security amongst well known Frameworks and CMSs.
However, CMS focus on Front-end (contents?), provides with ready to use CSS, Javascript (Front-end) in order to build / manage websites and web based applications easy and quick. Though, it's not very clear in structure comparing to MVC model.
Both would do the same job if you develop yourself, but in a team, framework could provide benefit.
It's only my view, I am using Wordpress a lot and a little knowledge on framework.
I use CodeIgniter and my bias is for that because you've already built the bulk of your app in it and because it seems more flexible/less pre-configured than Wordpress. I also get the feeling that CI is growing in use relative to WP with developers so CI seems possibly more future-proof, though to be fair they are both popular.
Can you make clearer you're bosses demands? The way I read what you say is that you're 80% of the way there and then are considering scraping (or at least possibly having to heavily revise) that 80% because the other 20% seem more logically done in Wordpress.
As I learn PHP more, I'm actually finding myself using even less of CI and writing more straight up PHP or actually JavaScript (for even better UX). So I guess I'm surprised to hear of someone wanting to switch from a minimal PHP/ruby/Python framework to a heavier one since most of the work is shifting to JavaScript these days.
Another key point on going towards straight-up PHP is that the number of people who know PHP dwarfs the number of people who are familiar with CI- or WP-specific syntax. So you are more likely to get help/collaborations/career advancement focusing on a solid foundation in the "mother tongue" over these minority dialects. Doing this with PHP is also having the benefit of helping me understand other languages such as JavaScript better since the level of abstraction is on the same page with php-ruby-python, whereas a framework brings in an entirely different (an in my increasing view, extraneous) vocabulary.
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 am in the process of architecting an application. It will be a large, enterprise class web application. Thousands of users could upload files, search large number of blog entries with chat functionality and such. It will also have mobile interface. It should be highly testable, scalable and flexible.
I have narrowed it down to three environments: pure play ASP.NET, pure play DotNetNuke (DNN) and a combination of ASP.NET and DNN. To keep this very brief, here are some 'for' and 'against' on each of the options:
ASP.NET:
for: highly scalable, supports patterns like MVC, testable, consistent architecture.
against: long development time.
DotNetNuke:
for: short development time, large number of existing functional modules and skins.
against: architecture is sealed, can't support MVC, unit testing is difficult, inconsistent modules/skins, potential upgrade issues, user experience is inconsistent due to disparate modules from different vendors, poor documentation.
So, the questions are: what do you think? Has anyone switched from DNN to ASP.NET (and, vice versa)? Have you objectively evaluated these two and what did you choose?
Highly appreciate your help. Thanks.
henry.
DNN is ASP.NET, just with a lot of the work done for you.
Also, please remember that just because raw ASP.NET has the potential to be more scalable, doesn't mean that you are actually going to built it to be more scalable. Or that you will built it well in the first place.
It comes down to a trade off between control and resouces/talent. If you have many very talented developers (like, top-10% talent), a lot of time, clearly defined requirements for your site, and consumers who will be patient while you build out the infrastruture, by all means go with raw ASP.NET.
However, if you need to build it quickly and need to be flexible, or you have limited development resources, you might have to sacrifice some of that control and unit testing and potential performance (again, the "potential" part is key here).
Based on what you are looking for, I'd recommend you go with a platform like DNN, or a million other ones line SiteFinity or Umbraco or Orchard or something like that (some of them like Umbraco give you MVC too). It gives you a lot of the infrastructure and plumbing common among a lot of sites, probably done better than you are going to do it, so that you can focus your resources on the truly unique aspects of your application.
Just stay away from SharePoint. It's evil.
I've built raw ASP.NET sites for really customized applications, which was good because I didn't need a lot of plumbing and wanted really unique funcitonality through the site. But then I've built social networking sites with DNN, which worked well because it had packaged components for blogs and forums and chat and all that stuff, plus allowed for easy skinning. I designed another application for a customer that they wanted to have a lot of custom functionality, but they also wanted to updated a lot of content and internatalized it, so we used a Umbraco for that. And right now I have a ASP.NET app that works great, but I want to add in some social features, so I'm going plug in a Umbraco or DNN site that integrates with it to host the more common social components.
I would definitely recommend DNN based on your very limited list of needed features. You can always build a custom module to meet your exact needs or modify an existing open source module as needed. You can use the MVP approach in your module development to improve the testability.
Have you considered the Umbraco CMS? It is built on .Net (v5 is MVC3). It is open source and a very robust and well supported application. It has been used for the asp.net site for example.
It has a very short development time, many modules, extremely flexible and I find it very easy to extend. For example, I rolled my own workflow, event driven publishing and have created multiple custom administration sections for managing bespoke functionality external to Umbraco.
You can use XSLT, Usercontrols or Razor to create template modules.
It has a fantastic community too.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I've just started a new software consultancy business and I'm currently putting together designs for my website. We will be at a stage very soon to start converting these into a template for a CMS.
I have used http://n2cms.com before, but my designer has built many sites using WordPress, we recently built a site which worked very well and I was very impressed by the WordPress admin.
So I might be a bit risque and build my site in WordPress, host on Azure, even though my consultancy specialises in Azure & Silverlight :)
What's your thoughts? Can you suggest any other great .NET CMS's that would sway me away from WordPress?
Any suggestions much appreciated.
Cheers,
Ash.
P.S. Anything that uses Table Storage would be cool, and would be much cheaper!
I agree with Gabe that true Azure support from a CMS means leveraging the cloud's native queue, table and blob storage. I'll also add that a good Azure CMS should work out of the box when deployed on numerous machines sitting behind a load balancer (basically a must if you care about Azure's SLA).
I myself did a research similar to yours a couple of months ago and ended up using N2CMS in an ASP.NET MVC application. AFAIK, there is still no CMS to comply with the above definition of good Azure support, so I would recommend going with N2 if you use ASP.NET MVC. The learning curve is a bit steep, but you mentioned you've used it before so this shouldn't be an issue. However, the great architectural flexibility N2 allows and the fact it's open source were the decisive points in my case.
Regarding Wordpress, there's no arguing about the qualities of this CMS. Anyone who's used it (including myself) should be able to confirm that. However, deploying Wordpress on Azure still feels somewhat "hacky" to me. It will no doubt work, but I personally try to use native solutions and that's the reason I went with a .NET CMS on Azure and I always use Wordpress on Linux servers. I believe that's the right approach if you plan to maintain your application in the long run.
In the end, the choice you have to make is a trade-off between many factors like your in-house know-how, your preferred technologies, etc. If you need rather quick results and have Wordpress guys at the moment - go for Wordpress. If not - I recommend ASP.NET MVC with N2.
Well, at least that's my 2 cents :) Hope this helps.
Ash,
There is new free open source CMS called Composite C1. Just couple of weeks ago company released source code to CodePlex (before it's was 100% commercial). C1 provide you full control on layout (XHTML, XSLT) - your designer will love it... also it's build on .NET 4 and using C#, LINQ.. allows create quickly functionality..very flexible...and user friendly.. for example you can edit several pages at same time.. it's uses XML as data storage, so no need for database, but there is commercial module which allows easy move to SQL. Company having workshop today regarding Azure (check Community tab at the website) and looks like will take required actions in this directions (no time frame available).
DISCLAIMER: I work in Composite’s QA group, so this is not an unbiased suggestion ;p but I've moved my personal website to Composite C1 (from Umbraco) and quite happy!
The Orchard Project seems to have much potential if you want to be risque and still stick on the .NET application programming platform stack.
From the website:
"Orchard is a free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform. It will create shared components for building ASP.NET applications and extensions, and specific applications that leverage these components to meet the needs of end-users, scripters, and developers.
In the near term, the Orchard project is focused on delivering a .NET-based CMS application that will allow users to rapidly create content-driven Websites, and an extensibility framework that will allow developers and customizers to provide additional functionality through modules and themes.
Truly supporting Azure means tackling the cloud storage challenge. As you mention, this means using native Azure storage (table, queue, blob) to persist data. To my knowledge, there isn't any CMS that has truly addressed Azure storage.
It's easy for a CMS to claim Azure support by using SQL Azure. This isn't true Azure support though. SQL Azure databases get capped at 50GB...which means they aren't infinitely scalable. Any solution that is using SQL Azure isn't infinitely scalable.
--
All this being said, I work for Telerik and we have an ASP.NET based CMS called Sitefinity. Version 4.0 of Sitefinity is coming soon and it runs using Azure & SQL Azure. If your database will never exceed 50GB, then this might work for you.
We've discussed creating support for native Azure storage in future versions of Sitefinity. However, I can't give an ETA.
--
Ultimately, I agree with others though; if you're happy with Wordpress, then use it.
Sitecore has a special edition that was design for Azure.
Sitecore Azure Edition
VIM4, Composite C1 is not support the IE10 for Windows8 CP. :(
This is meant to be a comment to Mark Good's answer, but since i don't have enough rep - having to post as an answer.
Sitecore does not have an edition called Azure, it is rather just Sitecore with the Azure module installed. We have talked to Sitecore before about this, and their sales engineers confirmed that was correct. It's semantics, but could be important in certain cases. Cheers!
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 2 years ago.
Improve this question
How much of ASP.NET or C# is required for Sharepoint development? Do you need experience with things like developing N layered web applications, design patterns, test driven development, strong SQL background etc?
I hear that Sharepoint development is different from enterprise applications thats typically built with technologies like ASP.NET.
If I know my basics in .NET, C# and have some experience with ASP.NET and have good understanding of things like Page lifecycle in webforms, web parts, Master pages etc, then am I ready for Sharepoint?
Also, is Infopath very heavily used in Sharepoint development?
If you already know ASP.NET than you are ready for SharePoint development. Get familiar with its SDK and other development concepts. SharePoint Dev Wiki might also be a good start.
A must have for new developers is to learn SharePoint from end user perspective. I am using this book to train the new guys. If you do not understand these concepts it might be hard to start coding.
It really depends on what you are wanting to achive, there are more than a few ways to develop something for SharePoint each requires different skills.
for example :
SharePoint exposes a number of webservices which you can use to complete a number of tasks.
A step up from that Sharepoint has a number of DLL's you can reference directly in order to access a more granular level of detail, but is more fiddly to work with.
Neither of these require any knowledge of ASP.NET but both work with sharepoint.
If you are planning on making a WebPart then yes ASP.NET knowlege is a big plus.
If you want to work with the Sharepoint workflows then you need knowlege of WF.
There is no one fit for developing sharepoint, which quite frankly makes it hard to hire people for it.
I guess it really depends on what you mean by SharePoint development. In my humble opinion you must learn what SharePoint provides out of the box in order not to reinvent the wheel all over again.
The object model, web services and how to deploy your work using solutions is something you have to pick up very quickly in order to be a good SharePoint developer.
As I am more of a consultant type when a developer I can't say whether you should know SQL and AD but I guess it won't hurt a bit.
If you are fluent in C# it might also be a good idea to have a closer look at PowerShell as it sure looks like Microsoft will integrate PowerShell in all server products including SharePoint 2010.
I don't think it's much different, really. I've been learning both at the same time to some success. Of course, ASP.NET and SharePoint are just different things, but SharePoint is built on ASP.NET, so to the extent you understand ASP.NET, you also understand SharePoint.