For this project, I was going to use PostgreSQL for the database. It has been a while since I used it and I haven’t used some of the newest features available in the latest version. I haven’t settled on a back-end framework yet. Here are some of the ones I am considering:
- Laravel – This is in PHP which I already know, but I have heard good things about it and it could help create a well-structured back-end. PHP is readily available on lots of hosting services, so it would be easy to set up anywhere. However, I know PHP already and I was wanting this to be a learning experience, so this would not add much to my existing knowledge.
- Zato – This is written in Python and intended for use in developing back-end APIs which is what I am after. I have read some books and articles on Python and have always wanted to learn it. I also know of some local companies that use Python, so there would be some local help available. The admin interface is developed in Django, so this would also be a chance to get some exposure to Django. This is probably the most intriguing of the choices I am looking at.
- Ruby – Ruby is actually just a language, but I am interested in looking at Rails and Sinatra as possible frameworks. Ruby gets a lot of press and sounds interesting. I have read a couple of articles and looked at some code. I am not aware of any local companies using it and I don’t know anyone who does use it, so I wouldn’t have as many resources available for help. However, I have always wanted to learn Ruby and Rails, so this is still an option to consider.
- .NET – Once again, this is more a family of languages and interfaces pushed by Microsoft. They did recently release .NET as open-source so that makes it more intriguing. There is also a large .NET market in the Tulsa area, so that also makes it intriguing. However, I need to do more research to find a framework based on .NET so I would do the roll my own like I have done with PHP in the past.
I would appreciate any feedback or comments. It is still up in the air and getting other people’s opinions would help in narrowing my decision.