Wednesday, 30th April, 2008
Category:
Internet
,
Google
,
Compute Cloud
,
Amazon
,
Software
So, you want to develop a killer Internet application. You have a great idea, and ready to work on it. One thing that puzzles every web application developer is the choice of platform, host and the technology.
If you haven't thought about scaling issues, you will be in a serious trouble and may require to rewrite the whole application. I past one year or so we have witnessed enormous developments in the web development tools and frameworks space. Frameworks like Django (this blog is written in django), Javascript libraries like YUI, Prototype, Scriptaculous, hosting platforms like Amazon EC2 and Google Appengine gives us great options in terms of what we can do and how we can transform our ideas. All the great technologies has given a new meaning to web 2.0.
I personally like Google Appengine because I like Python web programming and worked on couple of python frameworks. Google Appengine also gives seamless integration with Google accounts this is a big win win if your application requires user login and sign ups. On the other hand, Amazon EC2 gives you a server in the cloud, you have to take care of everything from imaging the machine, installing the webserver and configuring various components. This can be advantage for some individuals and companies, because it brings lot of flexibility and in real sense this is the true cloud computing, where you can just write any application which requires parallel processing and run on several machines at Amazon datacenter.
If your application is simply a database backed web application, Google Appengine can be a good choice, though its datastore technology will not give you full benefit of RDBMS database. Applications like Digg, Slashdot, delicious are good examples of high traffic sites which can be perfectly hosted with Google Appengine.
I am planning to move my blog from the shared hosting to Google Appengine. One benefit would be Google indexing, it would be so easy for Google crawler to index my site from one of its neighbour machine. :)
Wednesday, 30th April, 2008
Category:
Google
,
Apple
,
iPhone
,
Mobile
,
Software
Mobile software development is next big thing. More and more applications are moving from desktop to browser, and now to mobile phones.
Last month I was in Mountain View, and my room mate happened to be a Mobile software developer. Almost every Google mobile product you have used has his big contribution. I had very good conversations with him about Mobile software development, opportunities and challenges.
After coming back to India, I started exploring more about mobile software development. Mobile software is no longer about Windows mobile vs. Symbian, now we have many mobile platforms, like iPhone, Android, Symbian, Windows Mobile.
Before you begin Mobile software development, your choice of platform is very important. Your future in mobile technologies depends on the future of the mobile platform you choose.
iPhone Vs. Android
iPhone can you give you huge user base, on the other hand Android gives you open source advantage.
iPhone brings with it huge user base, but its sdk is in Objective C. So, you must know or must be willing to learn Objective C. Apple Developer center has lot of resources on iPhone development, I will list them at the end of this post.
If you are good at Java or like Java platform, then Android might interest you. Other advantage with Android is that its open source and obviously Google's support for Android is a big win. There is rich documentation available on Android Google site.
The two platform also differs in the way you can distribute your software. iPhone applications can only be distributed through Apple distribution channel, which can be a limiting factor depending on your application and business needs. On the other hand Android being open source, you are free to release and distribute your Android application just like any other open source application.
Here are the list of resources for iPhone and Android software development.
iPhone developer resources
All the resources listed below are available at
Apple iPhone developer site:
Android developer resources
Various documentation and sdk download is available at
Android developer site.