Arno Puder
San Francisco State University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Arno Puder.
Mobile Networks and Applications | 2013
Arno Puder; Oren Antebi
Android is currently leading the smartphone segment in terms of market share since its introduction in 2007. Android applications are written in Java using an API designed for mobile apps. Other smartphone platforms, such as Apple’s iOS or Microsoft’s Windows Phone 7, differ greatly in their native application programming model. App developers who want to publish their applications for different platforms are required to re-implement the application using the respective native SDK. In this paper we describe a cross-compilation approach, whereby Android applications are cross-compiled to C for iOS and to C# for Windows Phone 7. We describe different aspects of our cross-compiler, from byte code level cross-compilation to API mapping. A prototype of our cross-compiler called XMLVM is available under an Open Source license.
principles and practice of programming in java | 2007
Arno Puder
AJAX (Asynchronous JavaScript And XML) applications have received wide-spread attention as a new way to develop highly interactive web applications. Breaking with the complete-page-reload paradigm of traditional web applications, AJAX applications rival desktop applications in their look-and-feel. AJAX places a high burden on a web developer requiring extensive JavaScript knowledge as well as other advanced client-side technologies. In this paper, we introduce a technique that allows a developer to implement an application in Java or any .NET language and then automatically cross-compile it to an AJAX-enabled web application.
principles and practice of programming in java | 2010
Arno Puder
Smartphones such as Android-based devices and Apples iPhone have become popular platforms for mobile applications. In particular, they allow the development of native applications that can take advantage of special purpose hardware such as accelerometers or GPS. While similar in capabilities, smartphones differ greatly in the way native applications have to be written for them. Googles Android is based on Java with an Android-specific set of widgets, while Objective-C is Apples first choice for developing iPhone applications. In fact, Apple explicitly prohibits Java virtual machines on the iPhone per license agreement. Objective-C and Java are two radically different programming languages. While Java features strong typing and garbage collection, Objective-C supports dynamic typing but no garbage collection. This paper describes a technique how Java-based Android applications can be cross-compiled to native iPhone applications. Furthermore, it is shown how the Android API can be mapped to the iPhone-specific Cocoa Touch API.
distributed applications and interoperable systems | 2006
Arno Puder
AJAX (Asynchronous JavaScript and XML) defines a new paradigm for writing highly interactive web applications. Prominent web sites such as Google Maps have made AJAX popular. Writing AJAX applications requires intimate knowledge of JavaScript since it is difficult to write cross-browser portable JavaScript applications. In this paper we first discuss the benefits of AJAX compared to other technologies such as Java applets. Then we propose a code migration framework that allows the programmer to write AJAX applications in Java. The Java application is automatically translated to JavaScript and migrated to the browser for execution. Our approach requires no knowledge of JavaScript. As web applications are written in Java, the developer benefits from powerful debugging tools that are not available for JavaScript. We have implemented a prototype that demonstrates the feasibility of our ideas. The prototype is available under an Open Source license.
Science of Computer Programming | 2006
Arno Puder
This paper describes XML11, an abstract windowing protocol inspired by the X11-protocol developed by MIT. XML11 is an XML-based protocol that allows asynchronous UI updates of widgets to an end-device. To overcome high-latency connections, XML11 allows migration of application logic to the end-device. Implicit middleware enables transparent interaction between the end-device and the server. The middleware is implicit, because the programmer is unaware of the distribution. The prototype implementation of XML11 runs in any standard web browser without Java capabilities on the client side and replaces AWT/Swing on the server side. This also allows us to expose legacy AWT/Swing applications as web applications.
Proceedings of the 1st International Conference on Mobile Software Engineering and Systems | 2014
Arno Puder; Nikolai Tillmann; Michal Moskal
A recent survey among developers revealed that half plan to use HTML5 for mobile apps in the future. An earlier survey showed that access to native device APIs is the biggest shortcoming of HTML5 compared to native apps. Several different approaches exist to overcome this limitation, among them cross-compilation and packaging the HTML5 as a native app. In this paper we propose a novel approach by using a device-local service that runs on the smartphone and that acts as a gateway to the native layer for HTML5-based apps running inside the standard browser. WebSockets are used for bi-directional communication between the web apps and the device-local service. The service approach is a generalization of the packaging solution. In this paper we describe our approach and compare it with other popular ways to grant web apps access to the native API layer of the operating system.
mobile computing, applications, and services | 2011
Oren Antebi; Markus Neubrand; Arno Puder
Android is currently leading the smartphone segment in terms of market share since its introduction in 2007. Android applications are written in Java using an API designed for mobile apps. Other smartphone platforms, such as Apple’s iOS or Microsoft’s Windows Phone 7, differ greatly in their native application programming model. App developers who want to publish their applications for different platforms are required to re-implement the application using the respective native SDK. In this paper we describe a cross-compilation approach, whereby Android applications are cross-compiled to C# for Windows Phone 7. We describe different aspects of our cross-compiler, from byte code level cross-compilation to API mapping. A prototype of our cross-compiler called XMLVM is available under an Open Source license.
Electronic Notes in Theoretical Computer Science | 2009
Arno Puder; Jessica Lee
Virtual machines (VMs) facilitate the deployment of applications in heterogeneous environments. Popular VMs such as Sun Microsystems Java VM or Microsofts Common Language Runtime (CLR) use a stack-based machine architecture to execute bytecode instructions. The focus of this paper is to explore the ability of XML to serve as a generic framework to represent bytecode instructions from different VMs. With an XML representation, supporting technologies such as XSL stylesheets and XPath expressions can be used to provide various transformations of bytecode instructions. We demonstrate the flexibility and power of this approach by showing examples of cross-compilation for various CLR bytecode instructions to the JVM as well as API mappings of the underlying runtime libraries.
international conference on move to meaningful internet systems | 2005
Arno Puder
We introduce XMLVM, a Turing complete XML-based programming language based on a stack-based, virtual machine. We show how XMLVM can automatically be created from Java class-files and .NET’s Intermediate Language. While the programmer is never directly exposed to XMLVM, we provide tools based on XMLVM for tasks such as cross-language functional testing or code migration.
Science of Computer Programming | 2009
Arno Puder; Sascha Häberling
JavaScript provides the technological foundation of Web 2.0 applications. AJAX (Asynchronous JavaScript And XML) applications have received wide-spread attention as a new way to develop highly interactive web applications. Breaking with the complete-page-reload paradigm of traditional web applications, AJAX applications rival desktop applications in their look-and-feel. But AJAX places a high burden on a web developer requiring extensive JavaScript knowledge as well as other advanced client-side technologies. In this paper, we introduce a technique that allows a developer to implement an application in Java or any.NET language and then automatically cross-compile it to an AJAX-enabled web application.