Planing For My Next Project
In this post , i want to express my views about selecting a platform for my next project.
The Project
I have been planning to make an application which will be basically a Phone Book Manager. Surely there exists such applications , but i don't know any. Because i want to develop my own application for fun ;)
The Need
I need that application to be able to store,manage my contacts. I have my cellphone contacts from my Nokia phones and now my android phone. I frequently add new contacts and remove "inactive" contacts ,for many reason , but i always backup the contacts in exported files.
Now i have many backup files,from Nokia and android.These files have some common contacts and some different and new contacts.When i need to locate an older contact info. i have to open all files in my text editor +Notepad++ and search in all files.
Now i have many backup files,from Nokia and android.These files have some common contacts and some different and new contacts.When i need to locate an older contact info. i have to open all files in my text editor +Notepad++ and search in all files.
The Functions
I want my phonebook app to be able to
- Store Contacts. (CRUD)
- Import the backups from different formats(basically vcf files from Nokia and android)
- Manage Duplicates contact details
- Merging Contacts
- Searching Contacts
- Exporting sub set of contacts to multiple formats (compatible with Nokia Pc Suite,Android,blackberry etc)
The Platform
I started to learn C# and then WPF ( windows presentation foundation). I wanted to learn by making my app in C#. But then my "expectations" increased...
I want my app to be on my android phone, +Windows 7 and my +Ubuntu installation.Or may be i may have +iPhone or +BlackBerry in the future :-P
The only option i know is +Adobe AIR ;-) and i am quite good at AS3.0 too.
The Thoughts
I also thought of doing it in Java .I once made a database app in Java for my friend and also been learning Java so that I can make my nokia app x-SMS port for android.But using Java platform for my phonebook app would allow only to be available on windows,ubuntu and android(with separate code offcourse).
I also tried +PhoneGap and made an HTML Canvas game and x-SMS app for android. But i didnt like it because the HTML presentation layer was quite SLOW on my android phone. Also i don't know if phonegap can be used to make desktop apps. Even it may , i will have to write separate program logic for every device ( windows,ubuntu,android etc). Adobe Phonegap Build is cool but its not free :P and i am not planning to commercializing my app.
Another technology i find interesting is NME.io now OpenFL.org . Its based on +Haxe technology and language. As far as i get , it is for game development only,may be i am wrong because I didn't fully learn its capabilities but they state a single code for every platform , sounds cool .May be i will dig more in future.
The Adobe AIR
So the best option known to me is Adobe AIR. I can develop using free IDE like FlashDevelop , and Flex SDK :P .I downloaded Adobe FlashBuilder 4.7 , it gives me 60 days of trial , and i think i can make my app in the time .
I can use xml or json for storing my contacts or i can use SQLlite database which AIR gives me to work with. I will be separating my visual presentation and my app logic , as much as i can . I plan to use Robotlegs v2 , but who knows i will consider pureMVC for AS.30 when time comes.
The Problem
I fore-work a little problem . I dont want to make separate VIEWs for desktop version and smartphone version.It would be to much work for me.So i googled and tried Air mobile components for desktop , the first thing i noticed that i cant scroll List component with mouse wheel. Because these components are optimized for touch , may be some tweaks can make it work well on desktop too.I don't know how much work it needed.
The Potential Solution
As i am doing it for fun , i am considering to use Starling and Feathers UI instead of flex framework. The Feathers UI components work well on desktop too;after examining the example on the site . Also i found work on Starling+Feathers+Robotlegs. Coool...
Right now i am studying the Feathers documentations , and will practice it some,then i will be trying Robotlegs v2 , because it has changed from RL v1.5.2 .And finally some practice on Feathers+Robotlegs. After that stage i can be sure what can be done :P
Next I will be posting about my app features and design considerations , .
Please comment and feel free to tell me what i am wrong about and suggest better solution.,
Comments
Post a Comment