The hybrid application development approach provides full software reuse (which is a problem in native applications) as well as tries to overcome the disadvantages of web-based applications (e-g lack of hardware access and lower performance). As a hybrid application is generally a web-based application wrapped in a native shell, it combines the advantages of both native and web-based applications.
Finally the Model-Driven Software Development approach bases the development on models that are then translated into source code. It enables software reuse as there is a single code base (i-e the model) that can be reused across multiple mobile platforms. Moreover the applications developed using this approach are truly native and are far superior to the web-based approaches.