Framework for the declarative implementation of native mobile applications

The development of connected mobile applications for a broad audience is a complex task because of the existing device diversity. In order to soothe this situation, device-independent approaches are aimed at implementing platform-independent applications, hiding the differences among the diverse families and models of mobile devices. Most of the existing approaches are based on the imperative definition of applications, which are either compiled to a native application, or executed in a Web browser. The client and server sides of applications are implemented separately, using different mechanisms for data synchronisation. In this study, the authors propose device-independent mobile application generation (DIMAG), a framework for defining native device-independent client-server applications based on the declarative specification of application workflow, state and data synchronisation, user interface and data queries. The authors have designed DIMAG considering the dynamic addition of new types of devices, and facilitating the generation of applications for new target platforms. DIMAG has been implemented taking advantage of existing standards.

[1]  J. Baltasar García Pérez-Schofield,et al.  Efficient virtual machine support of runtime structural reflection , 2009, Sci. Comput. Program..

[2]  Ioannis Stamelos,et al.  Investigating the Use of Object-Oriented Design Patterns in Open-Source Software: A Case Study , 2010, ENASE.

[3]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[4]  Alberto Sillitti,et al.  Mobile Multiplatform Development: An Experiment for Performance Analysis , 2012, ANT/MobiWIS.

[5]  Francisco Ortin,et al.  A Type Safe Design to Allow the Separation of Different Responsibilities into Parallel Hierarchies , 2011, ENASE.

[6]  Damith C. Rajapakse Fragmentation of Mobile Applications , 2012 .

[7]  Francisco Ortin,et al.  Modularizing Different Responsibilities into Separate Parallel Hierarchies , 2011, ENASE.

[8]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[9]  Leszek A. Maciaszek,et al.  Evaluation of Novel Approaches to Software Engineering , 2013, Communications in Computer and Information Science.

[10]  Mahmoud Taleb Beidokhti,et al.  Advances in Intelligent Systems and Computing , 2016 .

[11]  Francisco Ortin,et al.  Achieving Multiple Dispatch in Hybrid Statically and Dynamically Typed Languages , 2013, WorldCIST.

[12]  J. Baltasar García Pérez-Schofield,et al.  Including both static and dynamic typing in the same programming language , 2010, IET Softw..

[13]  Juan Manuel Cueva Lovelle,et al.  Design Patterns for Teaching Type Checking in a Compiler Construction Course , 2007, IEEE Transactions on Education.

[14]  Tony Clark,et al.  MobDSL: A Domain Specific Language for multiple mobile platform deployment , 2010, 2010 IEEE International Conference on Networked Embedded Systems for Enterprise Applications.

[15]  Dave Thomas,et al.  Agile Web Development with Rails , 2005 .

[16]  David Thomas,et al.  Agile web development with Rails - a pragmatic guide , 2005 .

[17]  Francisco Ortin,et al.  DIMAG: a framework for automatic generation of mobile applications for multiple platforms , 2009, Mobility Conference.