Click to See Complete Forum and Search --> : Application that grows
tariq!!
November 21st, 2001, 02:38 PM
Hi,
I need to develop an application where the which is very dependant on the application being able to grow as new features, requirements etc are released or introduced. That is the application once it detects that a new feature is available, it acquires only that feature and glues it to the current application. (The new version of icq seems to do this with its 'add more features' option)
I would really appreciate it if you could tell me how this can be achieved. i.e. what technologies and how are they used to enable an application to grow with new features introduced, and how the "new feature" is able to glue on to the main application?
Thanks in advance,
Tariq Ayad
Manish Malik
November 22nd, 2001, 07:15 AM
Simplest Approach: Build your core application, and then add all fancy+useful features as separate components (I mean...write your code that way). Then all your application will need to do is to connect to the internet, download the updated list of components, and then download separate (or combined) files with component in them. (a simplest example is a DLL file).
Hope you got the idea.
Manish
http://www.manishmalik.com
tariq!!
November 22nd, 2001, 01:34 PM
Thanks for the reply,
But I still have one doubt.
Supposing I develop an app that downloads all the latest components as dlls.
How will the main app know how to use that dll downloaded?
- Tariq
Manish Malik
November 22nd, 2001, 04:41 PM
The main app can download a list which has some sort of format like this:
internal_function_name description_showing_to_user
e.g. check_email1() "Check Your E-mail !"
Whenever the user selects action based on this description, the function check_email1() in the DLL is called.
Manish
http://www.manishmalik.com
Joe Keller
November 26th, 2001, 03:21 PM
Thats the right Idea.
However here is another option.
Instead of using .DLL Files, make all the little add on programs their own functional .EXE files.
Develop the base application to make all its variable information available to any one of these newly added .exe files via a database of some sort.
Also, in this database contain a list of new features (i.e. your applications), maybe a list of menu bar positions available, icons, colors, fonts, etc etc.
Then when the user downloads and launches the application for the first time, it will automatically update the database, telling the program that it now has a new added application. The new application can fill into the database its title, what kind of icon it is supposed to get, where it shows up on the menu, and any other information you want about it. Also, if you make all the important variables about the base program available in some database format, or .ini file, then the added programs can interact with the base program by reading this information. Therefore, if you change something in the base program, all your addons will automatically update, and seemingly be integrated with the base program. You can launch the addons using shell commands.
The .dll option is not very feasible because the .dll structure is only understood to the developer at runtime and the .dll can not do anything of its own, only if called by its parent application, it also needs to be referenced in the parent application, which totally eliminates the possibility of downloading new ones, only Updating and adding to old ones.
Good Luck
Joe
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.