- Open Access
- Total Downloads : 11
- Authors : Manjunath R, Arunjith C
- Paper ID : IJERTCONV3IS27132
- Volume & Issue : NCRTS – 2015 (Volume 3 – Issue 27)
- Published (First Online): 30-07-2018
- ISSN (Online) : 2278-0181
- Publisher Name : IJERT
- License: This work is licensed under a Creative Commons Attribution 4.0 International License
Cloud based Integrated Development Environment for Android Devices
Prof Manjunath R.1 Head of Department
Computer Science & Engineering City Engineering College Bangalore, India
Computer Science & Engineering City Engineering College Bangalore, India
AbstractIntegrated Development Environment is an application which provides facilities to programmer for software development such as code completing and fixing, source code editing and management, automated testing, etc. Software is rapidly moving from the desktop to the Web. The Web provides a generic user interface that allows ubiquitous access, instant collaboration, integration with other online services, and avoids installation and configuration on desktop computers. Moving IDEs to the Web is not just a matter of porting desktop IDEs, a fundamental reconsideration of the IDE architecture is necessary in order to realize the full potential that the combination of modern IDEs and the Web can offer. This paper discusses implementation of Web based IDE environment for compilation and execution of codes written in different languages like C, C++, Java languages. Users can edit, write, compile, debug and store their code on server. Users need not to spend their time for finding and installing an IDE for different languages. User can download this application and use it with an internet service. Web Based IDE can also be used in low configuration android devices.
Index TermsIntegrated Development Environment, Web, Compiler, programs, Android Application
software. They increase developer productivity by incorporating many different kinds of editor services specific to the syntax and semantics of a language. These services assist developers in understanding and navigating through the code, they direct developers to inconsistent or incomplete areas of code, and they even help with editing code by providing automatic indentation, bracket insertion, and content completion. The
integration of complete tool suites for software development and the development of language-specific editor services took a tremendous effort for the current generation of IDEs such as Eclipse and Visual Studio.
This paper discusses the implementation of Web Based Integrated Development Environment (IDE) for Android Devices with the different languages to code, compile and run the code. The Web Based IDE will allow easy development and testing of applications. The users have the privilege to register on to the system write, save and manage programs online. After the language is chosen by the user the request is forwarded to the respective compiler. Multiple users can write programs in different programming languages and also can compile and run the program.
WHY WEB BASED IDE
Software development is an important activity in todays world. In old days, programmers used to write codes into the text files and then by using compiler and similar tools which are command line based, these written codes were turned into software programs. As the computers evolve, size and the complexity of software production increased. With this increasing complexity, accomplishing tasks such as code editing, build automation and debugging started getting more and more difficult. Solution for this problem of programmers is found to be Integrated Development Environments which are commonly referred as IDEs. Although IDEs are
life saver for programmers, these software applications have couple of drawbacks. Local systems IDEs are installed on a system and one need to use that computer to use features of IDE and develop the software. Stand alone IDE high computer resources, as IDEs supported more facilities to the programmer, they require much more computer resources, especially memory and CPU, which may not be available all the time.
Most of the desktop based IDEs require the development environment to be set up on their machines. This development environment requires language specific integrated development environment like eclipse or visual studio to be downloaded and configured within the users machine. If the user decides to work on a different machine the entire development kit and IDE has to be installed in the new system which makes the process tedious and extremely inconvenient. Web based IDE thus provides a solution to the given problem and gives user the flexibility to start a web browser and open his/her project. The basic requirement here is that the user must have access to an internet connection to be able to connect to the Web IDE. We will install all programming development environment on a server.
An Android application with web cloud based IDE allow user to write program on their mobile phones which make the programming more portable. User gets get access to all the compilers on the server without specifically downloading and installing each and every compiler. There are many compilers which cannot be worked with android. This problem is solved by a cloud based IDE.
Many efforts have been made to implement online compiler and runtime environments in past few years. In this section we briefly discuss recent developments.
Python Fiddle  is a code editor and code execution environment that allows programmers to run snippets and debug scripts on the go. It supports a plethora of third-party packages, boasts superb
documentation, comes with a wide array of built-in hot keys and is also open source to boot.
WeScheme  is an educational programming environment, embedding. CodeMirror  for syntax highlighting and bracket matching. However, these can useful tools for coding small programs; they do not provide a comprehensive environment with all the facilities that are especially important for productivity in larger projects. They also do not offer any support for collaboration.
An Online Programming Tutors named Problets by Kumar  is designed as a tutoring system for students to learn Java, C++, and C# OO programming. It mainly covers Java programming and basic programming constructs.
previous and current programs. It is also used here to store users authentication information.
Users are required to register through the web interface. Whenever a new user registered, all the required data will be created in the database and a predefined workspace will be assigned for the user. Later, user will be able to login and logout the system anytime.
Fig: Architecture of Web Based IDE
Steps for web based IDE are as follows.
Step 1, 2: Types the code on the text area provided on application and submits the code to server.
Step 3: Web server will call appropriate script to compile the program (E.g. javac, tcc, csc).
Step 4, 5: After the compilation of the program if there are any errors present in the program then those error messages are transferred back to the Android application. Step 6, 7, 8: If there are no errors then process executor is called and the output of the process is transferred back to Android application so that the user can view the output of the program.
Java SE used to create the Android application. The source code for application uses javas client server communication technology.
Googles Android SDK is used to design the GUI of the application.
The JBOSS Application server is used to communicate between client and server.
Java Server Pages or PHP used to connect to the compiler to compile the source code provided by the user.
MySQL is used for the database which stores the users
Ajax or JSON is used for line by line compilation of the source code written by the user.
We have implemented Web Based IDE in Android by using Java and Android SDK. A JBOSS or PHP Server would provide service at backend. User first creates a login ID to access the compilers. After creating login ID user must login in the system. After login user select the compiler for which he wants to use. After selecting the compiler user type his code in the android application and use the button or shortcut keys to compile and execute the code. The output is displayed on the output tab. Although the frontend is designed to be as simple as possible with only a few commonly used options, it is sufficiently functional and can be used quickly. Proper validations are used. User code is submitted to server. Server side code compiles the code and displays warning message or show the results on the client window, Compiler Helper class to represent a compiler error or warning. After successful compilation compiler generate execute file (exe). This exe file produce the desired output for the given source code. Following figures show the Web Based Interface design and working.
Registration: – This module accepts the details of a new user and stores it in the database. This action is logged in the Logs database.
Login: – A registered user should login with his username and password to use the IDE.
Create new Project/ File:- This module permits valid users to create new Project.
Open Project/ File:-This module permits valid users to open existing projects. The users access rights to
the projects and files are checked from the database.
Delete Project/ File:- This module permits the valid users to delete a project.
Save: – This module allows the valid users to save their projects. These projects are stored in database.
Compile & Run: – This module allows the users to compile and run their code. The result of compilation is displayed to the user.
Send to Mail: – This module allows users to send code to their email id.
Change Theme: – This module allows users to change the theme of code editor.
Font Size: – This module allows users to change the font size.
Download: – This module allows users to download the code.
ADVANTAGES AND DISADVANTAGES
Development can happen on any Web-enabled machine, and execution resources can be shared among developers.
Development can be done by low configuration devices.
User can use any device with internet connection for execution of code.
Collaboration becomes easier, and might amount to as little as sharing the URL to the same IDE workspace
Scaling from one machine to many becomes a matter of configuration acquiring, setting up and maintaining the hardware is handled by the cloud provider.
For web applications, there is very little difference between testing, debugging and deployment: the mechanism for deploying in the edit-compile-run cycle is the same as for testing and as for production.
Developer gives up (some) control of the execution environment and might be unable to diagnose problems which require access to logs and
process inspection tools.
Network bandwidth and latency make some applications, especially graphically intensive ones, infeasible to develop remotely.
Duplication of most of the essential tools and concepts already provided by the operating system on the users machine, though this can be mitigated by exposing the deployment/ testing/debugging host through a remote shell, i.e. by breaking out of the traditional Web interface.
Integration with existing deployment and debugging tools is likely to be difficult, if not impossible.
The application of the project is provide different compiler over network. A Web Based IDE can be used in small companies for centralized compiler installation. Because of centralized compiler on the server side, client desktop need not to be very high configuration. A Web Based IDE can be used in school / college / Institutes for practical examination also using this student can have facility to use/learn multiple programming languages with any devices like PC, tablets or Mobile.
In this paper we have discussed Web Based IDE from the stand alone desktop to the Web. The proposed research questions arose from placing ourselves in the seat of the software developer who already develops for the Web, but now wants to transition his daily development activities to the Web, and take advantage of the hallmarks of the Web, pervasive collaboration, zero deployment, instant-access from anywhere, ad vast computational resources. We discussed how we can move the software development environment from one paradigm (the desktop) to another (the Web). This can be used for E-learning platform that lets students write, execute and test programs entirely in their browse. With Web Based IDE allows the user to write and manage their programs on the server. The programs stored on server, the compilation of the programs will be managed by the server by forwarding the request to the required processor. Based on the programming language in which program/code is written and sends that program/code to the respected compiler. The proposed system showed how Web Based IDE can be used to eliminate the problem of storage. Many more applications are possible when taking into account.
Mala Dutta, Kamal K Sethi, Ajay Khatri: Web Based Integrated Development Environment
International Journal of Innovative Technology and exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-3, Issue-10,
Coderun Studio Available: http://coderun.com .
Koding Available: https://koding.com/
CodeMirror Available: http://codemirror.net/ .  Cloud IDE Available: https://codenvy.com/
D. Yoo, E. Schanzer, S. Krishnamurthi, and K. Fisler, We- Scheme: the browser is your programming environment.
Python Fiddle http://pythonfiddle.com/
The Eclipse Foundation. Voidspace python online Available: http://www.voidspace.org.uk/ironpython/silverlight /index.shtml.
Cloud9 IDE. https://c9.io .
M. Labs. Mozilla labs: Skywriter.
Problets by Amruth N. Kumar http://problets.org/
Suryawanshi Harshal, Rokade Chakrapani Ambhore Ajay, Rathod Sharad, Compiler as Service over Cloud, International Journal of Computer Applications (0975 8887) Volume 70 No.1,
Ansari Mohd. Arshad, Khan Arshiya, Shaikh Sana, Mirza Zainab, Compilers on Cloud, International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 2 Issue 9, September -2013
M.Pabitha, T.Selvakumar, S.Punitha Devi An Effective C, C++, PHP, Perl, Ruby, Python Compiler using Cloud Computing, International Journal of Computer Applications (0975 8887) Volume 69 No.7.
Mayank Patel Online Java Compiler Using Cloud Computing , International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-2, Issue- 2.
A.Rabiyathul and Basariya k.Tamil Selvi, Centralized C# Compiler Using CloudComputing, IJCE Volume 06
Compile Online IDE Available: http://www.compileonline.com
.  Online Compiler Available: http://www.Compilr.com .
Lennart C. L. Kats, Richard Vogelij, Karl Trygve Kalleberg, Eelco Visser "Software Development Environments on the Web: A Research Agenda"
Codeanywhere Available: https://codeanywhere.net/.
include Content Management System, Object Oriented and Web Technology.