Advanced Internet Applications on Desktop
Total Page:16
File Type:pdf, Size:1020Kb
MASARYK UNIVERSITY FACULTY}w¡¢£¤¥¦§¨ OF I !"#$%&'()+,-./012345<yA|NFORMATICS Advanced Internet Applications on Desktop DIPLOMA THESIS Bc. Martin Miko Brno, 2011 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Advisor: doc. RNDr. Tomáš Pitner, Ph.D. ii Acknowledgement I would like to thank to doc. RNDr. Tomáš Pitner, Ph.D. whose guidance, many inspiring ideas, remarks, and above all patience made all this possible. Without his good will this work would never be born. Also I would like to thank to all my friends, who stood behind me, had to cope with my moodiness and helped in many ways in the time of need. And last, but not least, I would like to thank to my family for their support and understanding. iii Abstract The aim of this work is to describe, analyse and compare selected important rich Internet application platforms that allow desktop deployment. Analysed platforms are Adobe AIR using applications built in Adobe Flex and Microsoft Silverlight. Secondary aim of this work is demonstration of capabilities offered by AIR framework and comparison of AIR applica- tions to solutions based on JavaScript. To compare and analyse various platforms, a comparison or benchmarking method is required, but unluckily no relevant methods exist. This work proposes a benchmarking method that allows complex comparison of this type of platforms. Method is based on gen- eral requirements of users and developers. Proposed method consist of two parts, the first part scores features of platforms, the second part further refines results obtained in the first part, according to defined user roles. Result of comparison showed that Adobe AIR is more mature and balanced platform than Microsoft Silverlight and it is more suitable for desktop deployed rich Internet appli- cation development. Another result is proposal of benchmarking method that can be used, for complex analysis of rich Internet application platform that provide desktop deployment capabilities. The demonstrational application shows that AIR-Flex solution can offer better and more interesting features than JavaScript based solution. Nevertheless rich Internet application platforms cannot compete with traditional ones like Java neither in terms of performance nor offered capabilities. iv Keywords desktop, RIA, rich, Internet, application, Flex, AIR, Silverlight, comparison, benchmark v Contents 1 Introduction ......................................... 1 1.1 Thesis goals and structure .............................. 2 1.2 Genesis: From web to desktop ............................ 2 1.3 Rich Internet applications on desktop ....................... 4 1.4 Available Rich Internet Application desktop technologies ............ 6 1.4.1 Adobe AIR, Adobe Flex and Microsoft Silverlight . 7 1.4.2 JavaFX . 7 1.4.3 Canoo ULC . 8 1.4.4 Google Gears . 8 1.4.5 Mozilla Prism . 9 1.4.6 Fluidium . 10 2 Closer look at Adobe Flex, Adobe AIR and Microsoft Silverlight . 11 2.1 Adobe Flex and Adobe AIR ............................. 11 2.1.1 Technology backgroud . 11 2.1.2 History . 12 2.1.3 Platform architecture . 13 2.2 Microsoft Silverlight ................................. 14 2.2.1 Technology backgroud . 15 2.2.2 History . 15 2.2.3 Platform architecture . 16 3 Comparison and benchmark analysis proposal .................... 19 3.1 Why we need to analyse, compare and benchmark . 19 3.2 Comparison and Benchmarking method ...................... 20 3.2.1 About proposed method . 20 3.2.2 Requirement groups . 21 3.2.3 User roles . 23 4 Benchmark .......................................... 25 4.1 Technology ....................................... 25 4.1.1 Offered features . 25 4.1.2 Integration options . 27 4.1.3 Areas of use . 29 4.1.4 Conclusion . 31 4.2 Portability ....................................... 31 4.2.1 Supported operating systems, devices and system requirements . 31 4.2.2 Runtimes . 33 4.2.3 Conclusion . 34 4.3 Development ..................................... 35 4.3.1 Software development kits . 35 4.3.1.1 AIR SDK and Flex SDK . 35 4.3.1.2 Silverlight 4 SDK and Expression Blend SDK . 36 vi 4.3.2 AIR development tools . 36 4.3.3 Open-source AIR development tools . 37 4.3.4 Silverlight development tools . 38 4.3.5 Open-source Silverlight development tools . 39 4.3.6 Testing and debugging . 40 4.3.6.1 Flash platform tools . 40 4.3.6.2 Silverlight tools . 41 4.3.7 Knowledge and skill reusability . 41 4.3.8 Conclusion . 44 4.4 Usability ........................................ 44 4.4.1 Distribution . 45 4.4.2 User experience . 46 4.4.3 Conclusion . 47 4.5 Results ......................................... 47 5 Development of AIR video chat client ......................... 50 5.1 Application analysis and design .......................... 50 5.2 Development and deployment ........................... 53 5.2.1 Development . 54 5.2.2 Deployment . 57 6 Conclusion .......................................... 59 Bibliography . 64 A Content of attached CD .................................. 65 vii Chapter 1 Introduction The information technologies are one of the most rapidly evolving areas in the human his- tory. Their penetration into lives of individuals and whole societies is undoubtedly astonish- ing and complete. People cannot imagine their lives without them anymore. It is interesting to watch how quickly all hardware gets smaller and its computing power grows, Smart- phones of current era have more computing power than powerful server computers used twenty years ago, how communication infrastructure evolved into single ecosystem, inter- connecting almost the whole world. And all these changes have influenced both software and human activities as well. Software and human activities connected with information technologies changed rapidly to reflect current needs and capabilities of their hardware counterparts. Software evolved not only in a technical way, but also in a way of usability. User interfaces transformed from simple terminal screens to appealing graphical user interfaces, which are more intuitive and more usable, even for new users, without any previous experience with similar software. When speaking about human activities, it is important to say, that they have always reflected the way how people worked with information technologies. The more people use various software tools and devices, the more are human activities tied to information technologies. On the one hand it is good, because the information technologies help us with boring, or otherwise laborious work. On the other hand, they have become in many cases too integral part of our lives, and if they stop working properly one day, we may not be able to identify it, or even recover from possible losses. The main force behind a recent development of information technologies is undoubtedly the Internet. The Internet as a global phenomenon is not only a way of quick accessing of information, but also a global infrastructure for business, government or social networking. The Internet itself is changing the world as we know it. It provides a new, unique and glob- alised environment, where almost everything is instantaneously accessible to everyone. It is very intriguing to watch how Internet resembles the globalization of real world and vice versa. Maybe one day we will have a single infrastructure, and will use a single device to ac- cess all our data, which will be hosted on-line. A science fiction you say? Well not at all, technologies are still evolving, and they are evolving pretty rapidly in this way. Powerful mobile devices and widely available services accessible over Internet are the cornerstones for future unified platforms. These platforms will employ new models of using and building of applications. Probably they will not be much different from those we already know, and 1 1.1. THESIS GOALS AND STRUCTURE they will be built on top of what we already have, combining only the best of each approach. Closest to these new ways of understanding, using and developing of before mentioned applications are rich Internet applications and platform on which they are built. The main reason for choosing these platforms for future application development is their hybrid char- acter. They can combine the best of web browser-based and desktop-based applications, into a single, powerful application. Furthermore, they offer a unified environment, so ap- plications can be run on multiple devices and operating systems almost seamlessly. This is probably the way most future applications will be developed. 1.1 Thesis goals and structure Goals of this work are following. The main goal of this work is to describe, analyse and compare selected important rich Internet application platforms that allow desktop deploy- ment. Analysed platforms are Adobe AIR using applications built in Adobe Flex and Mi- crosoft Silverlight. Secondary goal of this work is demonstration of capabilities offered by AIR framework and comparison of AIR applications to solutions based on JavaScript. In this work we will look at some noteworthy platforms, which support deployment on desktop operating systems and we will try to compare them and find out what can be build on top of them. But before that, in this chapter, we will describe background and the evolution which lead to current state in this field. After a brief introduction a chapter describing background of analysed platforms will follow. The third chapter will describe how we will compare chosen platforms. In the following chapter we will be analysing the chosen platforms. And in the fifth chapter, we will describe development of an example application built in one of analysed platforms. 1.2 Genesis: From web to desktop To start with, we will look back into the history. Everything started with the invention of World Wide Web service, or briefly the web. A service firstly introduced in 1991 at Euro- pean Organization for Nuclear Research (Conseil Européen pour la Recherche Nucléaire – CERN). Its purpose was simple: allow sharing of data among high energy physicists.