Life continues at a breakneck pace. Despite my best laid plans, the surest way of getting things done at the moment is in a sort of out-order manner. However I did want to share a brief update on my journey into the Python and web application development world. Instead of separate long form articles, I will briefly touch upon various topics. (Note that this post itself has been in my work queue for over 3 weeks. Mea culpae.)
The Python Scene in Toronto: Django Toronto and PyCon
The most exciting thing that is happening in the Toronto area for Python developers is PyCon. This will be the first year that PyCon comes to Toronto. I will definitely be there and I have been preparing by working on some real world Python applications. If you will be there, I’d love to meet up with you!
Lots of REST and JSON
As mentioned earlier in the post, I have been dealing with a lot of REST service and JSON. It is an infinitely nicer and simpler manner to talk with a server application, than via SOAP and XML. (XML has its place, but it has been overused and abused in the Java world.) When working with Java I’ve worked with Jersey and SpringMVC for building REST services. Spring in general just works better, aside from its crazy arcane configuration. In Python I’ve started working with Flask to handle building REST services, which I find a lot lighter than Django that sort of thing. Also JSON is an awesome idea. More people should use it for more of their data interchange needs. 🙂
IntelliJ IDEA Makes It All Better
Not to sound like a promotional campaign (since I work in what essentially amounts to the advertising industry, it happens more often I’d like) but one of the best decisions I’ve made recently is to switch IDEs. I used to swear by Eclipse as the be-all-end-all of development environments. Then I discovered PyCharm for Python. Soon after that I got to meet Jessamyn Smith at a Django Toronto meetup. While were talking about the joys of switching away from Subversion to Git–Jessamyn wrote a great article about her own experiences of migrating to Git–she convinced me to look into IntelliJ IDEA as it had a better interface for managing Git operations. She was pretty convincing, as that is my primary IDE nowadays. No more mucking around and wasting time with Eclipse’s temperamental setup. Things. Just. Work. Meaning I can do work.
Hitting the Flask
Somethings die hard. One of those things is my own insistence on having lots of control over my computing environment and development platforms. This led me to using Linux late in high school. After playing around with Django, and wanting to build my own applications I found myself hunting down various odd ways to get around Django’s defaults. Do not get me wrong, Django has a ton of nice pre-build features and default that just work. Unfortunately being a web application developer, I have my own experiences, expectations and assumptions. They are not always right. However I prefer frameworks that I can plug-and-play and give me a finer grain of control. (Hence I prefer using Spring in my Java web apps.) So I’ve discovered Flask, a great micro-framework for Python. I like how it makes web programming easy, without making a whole wack-load of design assumptions. It very much reminds of me of the best parts of Spring, and apparently it is very “Ruby on Rails” like.