Codeless App Development Evaluating A Cloud-Native Domain-Specific Functions Approach Chuhao Wu

2025-04-27 0 0 661.01KB 10 页 10玖币
侵权投诉
Codeless App Development: Evaluating A Cloud-Native Domain-Specific
Functions Approach
Chuhao Wu
The Pennsylvania State University
cjw6297@psu.edu
Adrian Mos
Naver Labs Europe
adrian.mos@naverlabs.com
Jose Miguel Perez-Alvarez
Naver Labs Europe
jm.perez@naverlabs.com
John M. Carroll
The Pennsylvania State University
jmc56@psu.edu
Abstract
Mobile applications play an important role in the
economy today and there is an increasing trend for app
enablement on multiple platforms. However, creating,
distributing, and maintaining an application remain
expert tasks. Even for software developers, the process
can be error-prone and resource-consuming, especially
when targeting different platforms simultaneously.
Researchers have proposed several frameworks to
facilitate cross-platform app development, but little
attention has been paid to non-technical users. In
this paper, we described the Flow framework, which
takes the advantage of domain-specific languages to
enable no-code specification for app modeling. The
cloud-native coordination mechanism further supports
non-technical users to execute, monitor, and maintain
apps for any target platforms. User evaluations were
conducted to assess the usability and user experience
with the system. The results indicated that users can
develop apps in Flow with ease, but the prototype could
be optimized to reduce learning time and workload.
Keywords: Cross-Platform App Development,
Domain Specific Language, Model-Driven Software
Development, Cloud Execution, User Experience
1. Introduction
Since the release of Apple’s first iPhone in 2007,
the popularity of mobile applications (apps) has grown
rapidly in the last decades. By 2020, there are more than
8.9 million apps available around the world (Koetsier,
2020). Global revenue from mobile applications
increased to more than 318 billion US dollars in 2021
and is estimated to reach around 613 billion by 2025.
Therefore, the presence in app marketplaces is critical
for many individuals in today’s economy.
Nowadays, there are various tools to assist
non-technical people (i.e. people without specific
technical knowledge) to create websites, yet most of
them only enable static content and app development
still remains a task primarily for programmers. This
high threshold of app development could hinder
non-technical people from growing their business and
suppress their voices in the design and development
of apps. The expensive and time-consuming app
development process can make it difficult for small
businesses to take advantage of the Internet. Therefore,
lowering the barriers for non-technical people will
enable underrepresented population to participate more
actively in the app economy and shape the digital future.
Apps on traditional mobile devices (i.e. smartphones
and tablets) are mostly developed for Android and
iOS. However, the electronic devices owned by users
have been increasing, and there is a trend towards
app-enablement in various devices, including smart
TVs, wearables, voice assistants, etc (Rieger and
Majchrzak, 2017). Native development approach using
tools and languages designed for a specific platform
will require extensive cost to deploy an app on multiple
platforms. Therefore, cross-platform solutions to
simplify app development have attracted significant
attention from practitioners and academia in the past
decades (Rieger and Majchrzak, 2019). Yet empirical
verification is demanded for evaluating cross-platform
frameworks, with a particular focus on qualitative
user-oriented research (Biørn-Hansen et al., 2018).
In this study, we addressed the research gaps by
proposing and evaluating a no-code app development
system: Flow, which allows non-technical users to
create interactive apps. In this system, the non-technical
user models or adapts the logic of an app, by using
arXiv:2210.01647v1 [cs.SE] 4 Oct 2022
high-level behavioral models. The novelty of this
system resides in that Flow does not transform these
models into executable code for target platforms.
Instead, Flow executes those models directly on the
cloud, and uses a coordination mechanism with the final
app when user-iteration is required. This allows the
creation of generic applications that are can be easily
adapted to different platforms. In this way, Flow makes
it easier for people without technical skills to develop
and maintain applications across platforms. Users do
not need to understand the cloud-based logic and can
simultaneously see the effects of changes they make to
the models.
The paper is organized as follows: Section 2 presents
related work in cross-platform app development.
Section 3 introduces the overall architecture and
definitions of Flow. Section 4 discusses the setup and
results of user evaluation. In Section 5, the implications
of Flow are discussed further before concluding with a
summary in Section 6.
2. Related Work
In general, previous research has distinguished five
approaches for developing cross-platform applications
(Biørn-Hansen et al., 2018). First, the progressive
web approach essentially develops a web application
optimized for the mobile device screen. The app
cannot be installed on the mobile device and needs
to be executed within a browser app. Progressive
Web Apps (PWA) introduced by Google integrates the
services workers, a manifest file, and a bundle of static
user interface components not dependent on dynamic
content, which results in a performance comparable
to that of native apps (Biørn-Hansen et al., 2017).
However, even with enhanced capabilities, the access to
device or platform features are still limited for web apps.
The hybrid approach allows developers to develop
mobile apps using web development tools such as
HTML, CSS, and JavaScript. Apache Cordova (Bosnic
et al., 2016) is one of the most popular tools for
developing hybrid apps. It initializes the Native app
with a WebView (embeddable web browser) and the
communication between the WebView and Native code,
enabling the specification of business logic through
JavaScript and interfaces through HTML and CSS. In
addition, libraries such as Ionic Framework (Yusuf,
2016) and Sencha Touch (Clark and Johnson, 2013)
facilitate the development of user interfaces (UIs) for
hybrid apps and make them adhering to the guidelines
of the targeted platforms.
By contrast, the interpreted approach relies on a
runtime component, and app developers can access the
underlying functionality through the API (Biørn-Hansen
et al., 2020). The app is typically written using
programming languages such as JavaScript and the
invocation of foreign function interfaces is achieved
through proprietary plugin-based bringing systems (e.g.,
React Native and NativeScript (Brito et al., 2018)).
Consequently, plugin developed for one system may not
work in the other, which fragments the frameworks and
tools and becomes a major drawback for this approach.
The cross-compiled approach maps the input
application to a target platforms through compiling to
Native byte code. The access to Native device features
is exposed to app developers through the Software
Development Kit (SDK) rather than the bridging
components in hybrid and interpreted approaches.
The generated user interfaces are rendered as Native
interface components (Willocx et al., 2015). One
of the most recent cross-compile frameworks is
Google’s Flutter (Windmill, 2020), which recreates the
appearance of user interfaces through Skia Canvas.
The model-driven approach uses the high level
abstract representation to develop apps. It utilizes
textual or graphical Domain Specific Languages (DSLs)
or the Unified Modeling Language (UML) to construct
models. Code generators convert the models into
Native source code for the targeted platforms. Ideally,
the generated apps will be the same as native apps.
Numerous model-driven frameworks exist in both
industry and academia. For example, the MD2
(Heitk¨
otter and Majchrzak, 2013) framework uses
textual DSL to specify the components of an app and
does not require any knowledge of platform-specific
programming languages. However, most model-driven
frameworks develop distinct DSLs, which makes it
difficult to transfer the knowledge from one to another
(Le Goaer and Waltham, 2013).
Despite the advantages of aforementioned
approaches, most of them are not friendly to
non-technical people. The model-driven approach
may be appropriate for non-technical people, as it does
not require a background in any programming language.
Moreover, there is a lack of usability evaluation in
cross-platform app development research. Rieger
(2018) proposed the M¨
unster App Modeling Language
(MAML) framework and evaluated it with software
developers, process modelers, and domain experts,
resulting in better comprehensibility and usability
than other frameworks. Based on the advantage of
DSLs, our work further improves the experience for
non-technical users by introducing the mechanism
to isolate client-side models from changes on the
server-side, which makes it easier to develop, deploy,
and maintain apps. We conducted a rigorous user
摘要:

CodelessAppDevelopment:EvaluatingACloud-NativeDomain-SpecicFunctionsApproachChuhaoWuThePennsylvaniaStateUniversitycjw6297@psu.eduAdrianMosNaverLabsEuropeadrian.mos@naverlabs.comJoseMiguelPerez-AlvarezNaverLabsEuropejm.perez@naverlabs.comJohnM.CarrollThePennsylvaniaStateUniversityjmc56@psu.eduAbstra...

展开>> 收起<<
Codeless App Development Evaluating A Cloud-Native Domain-Specific Functions Approach Chuhao Wu.pdf

共10页,预览2页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:图书资源 价格:10玖币 属性:10 页 大小:661.01KB 格式:PDF 时间:2025-04-27

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 10
客服
关注