sosergio
sosergio

Reputation: 964

Build simple cms web app with rest api

I have to build a simple cms-like webapp for a group of non profit organizations. Each one Of them will log into the app and manage its basic informations. I will then need to read this infos from other apps through a rest Service.

I will love a final user app, something i will just have to setup.

Is there anything i can start from?

Will it be' a good investiment to spend some Time in learning a framework like django? Im new to Python (expert asp.net objc c# java html jscript, beginner php) How easy it will be to implement this in django?

What about Zend, Symphony, CakePhp?

Upvotes: 2

Views: 2519

Answers (2)

sosergio
sosergio

Reputation: 964

I found that CakePhp has an easy way of "scaffold" all my DB, in this way I just have to setup some classes in php with some property and I will get the all clean and nice UI to manage the content.

There is also the "bake" command line option, that generate all the php pages needed.

I will go for CakePhp.

Upvotes: 1

Dan
Dan

Reputation: 1536

You say you're new to python are you new to PHP too? I don't know Symphony or CakePHP so I can't comment on them. I know a tiny bit about Zend.

A couple of years ago I was in a similar position and went for django and I haven't regretted it. What I like about django is the following

  1. Python is a much cleaner programming language than php. Easier to learn well and easier to remember how to use.
  2. django gives you an 'ORM" an Object - Relational Model. You construct your data model in python using particular django objects. When you run a script 'syncdb' it builds your database tables for you. You also get a very powerful and straightforward way to query the database and fetch lists of objects from your database (Query objects). These query objects plug straight into python's very elegant way with lists.
  3. If the database queries django builds for you aren't fast enough you can both find that out through django and then customise them to be more efficient.
  4. Python has a very good test framework that django has extended well -- writing unit tests is as easy as it can be.
  5. The interactive shell: it is easy to be in your application with a command line and instant access to all your code. It is worth installing django-command-extensions .
  6. The test server: It is easy to run a test server so that you can run and debug your code.
  7. Fantastic documentation. Django and python both have really great online documentation.
  8. good extensions for django and python. I've mentioned django-command extensions, other ones you may want to use are piston which offers restful services. haystack which allows you to index your content using lucene (much faster and more flexible than mysql's native indexing)
  9. It comes with an admin system. One of the advantages of the ORM is that because django knows all about your data it can build you a very good cms almost out the box.

It's hard to think of disadvantages, python and django are not as widely used as php and Zend so finding people to employ may be a bit harder. However, I think you appreciate and can work well with python and django if you're a well trained programmer which maybe means python and django people more reliably know what they're doing.

It definitely gets my vote anyway.

Upvotes: 2

Related Questions