Pragati – Java and HTML Editor

1. INTRODUCTION

            The main goal to design a text editor, which is platform independent unlike notepad. Here we are going to provide some extra features, which are not available in notepad. My project entitled “PRAGATI - The JAVA and HTML Editor”

            We are going to provide a toolbar which is not available in notepad. Here we are providing a facility by which you can change the font of selected region only, which is not possible in notepad. The proposed editor will support JAVA as well as HTML programs.

            With the proposed editor, user may have the facilities to execute the HTML and Java programs and also it is possible to write the text files. Apart from these, an user can also execute the JavaScript programs. Another main facility we are going to provide here is JAVA editor where you can write, compile and execute your JAVA program on the same editor. You need not use the command prompt to compile and execute the JAVA program. You can easily debug the program in the same editor.

            Our editor will be user-friendly. It is easy to compile and execute JAVA programs using our editor because you need not use commands here to compile and execute the JAVA programs. The old text editor i.e. notepad which is not platform independent and doesn’t have toolbar hut our editor is platform independent and will have toolbar. The notepad doesn’t have extra features such as font color, which we are going to provide in our “PRAGATI - Editor”. Regarding the JAVA editor normally we write the JAVA programs in DOS editor, in windows platform using notepad or in UNIX platform using editor of UNIX. And compilation is done in command prompt using commands but in our editor user can direct compile and execute the JAVA program by only one click.


2. SYSTEM ENVIRONMENT

            The system environment specifies the technical specification of requirements for the developing software. The goal of this chapter is completely and consistently specifies the requirements for the software products in a concise and unambiguous manner.

2.1 SOFTWARE REQUIREMENT
Operating system                      :           Any Operating System
Platform                                   :           Core Java

2.2 MINIMUM HARDWARE REQUIREMENT
Processor                                 :           Pentium I and above
Memory                                   :           64 MB RAM and above
Hard disk                                 :           10 MB and above
Mouse                                      :           Optical mouse or if any
Monitor                                    :           Color monitor
Keyboard                                 :           102 keys

ABOUT JAVA
            Java is an object-oriented programming language developed by Sun Microsystems that plays to the strengths of the Internet. Work on Java originally began with the goal of creating a platform independent language and operating system for consumer electronics. Java is both a programming language and an environment for executing programs written in the Java language. Unlike traditional compilers, which convert source code into machine-level instructions, the Java compiler translates Java source code into instructions that are interpreted by the runtime Java Virtual Machine. So, unlike languages C and C++, on which Java is based, Java is an interpreted language.



            Although most of the current excitement and anticipated use of Java are related to the Internet, and the World Wide Web in particular Java did not begin as an Internet project. Because of this Java is suitable for many general-purpose programming tasks and in fact, many of the Java tools themselves are written in Java. It is a compiler development custom that a language has come of age when its compiler can be written in the language. According to this custom the Java language has come of age.

JAVA AS A GENERAL-PURPOSE LANGUAGE
            Of course, the use of Java extends beyond the Web, and there is much to recommend Java as a general-purpose development language. Java is completely portable to a variety of hardware platforms and OS.

FEATURES OF THE-JAVA LANGUAGE
            Having seen that Java is equally suited as a language for development both on and off the Internet it’s time to look more closely at the Java language itself. The creators of Java at Sun Micro Systems have defined the Java language as “a simple object-oriented distributed, interpreted, robust, secure, architecture neutral portable, high performance, multithreaded and dynamic language”.

SIMPLE
            Java has simplified C++ programming by both adding features beyond those found in C++ and by removing some of the features that make C++ a complicated and difficult language to master. Java is simple because it consists of only three primitive data types numbers, Boolean types, and arrays. Everything else in Java is a class. For example, strings are true objects, not just arrays of characters. Similarly, arrays in the Java language are first class objects, not just memory allocations and runtime representations. Java offers additional operator overloading, a frequent source of confusion during the maintenance of C++ programs, is not allowed in Java. Unlike C and C++, Java has no preprocessor. Java reduces the redundancy of C++ by removing structures and unions from the language. The most important C++ feature left out of Java is the capability to directly manipulate memory addresses through the use of pointcrs. Java goes well beyond C++ by adding some important features.
            One of the most important is automatic memory management usually known as garbage collection. Java goes beyond C++ in a variety of other ways, as well. For example, Java includes language level support for writing multithreaded programs. A multithreaded program is one that is written such that it performs more than one task at a time.

OBJECT-ORIENTED
            Java is an object-oriented programming language. As a programmer, this means that you focus on the data in your application and methods that manipulate that data, rather than thinking strictly terms of procedures. Of course, Java is an object- oriented. In its approach to object-orientation except for its primitive data everything in Java is an object. There are no global functions in Java all functions are invoked through an object.

            In an object oriented system, a class is a collection of data and methods that operate on that data. Taken together, the data and methods describe the state and behavior of an object Classes are arranged in a hierarchy, so that a subclass can inherit behavioral from its super class. A class hierarchy always has root class; this is class with very general behavior.

            Java comes with an extensive set of classes, arranged in packages that you can use in your program.

            Classes in Java can be defined as abstract. An abstract class is a class that collects generic state and behavioral information.

DISTRIBUTED
            Java facilitates the building of distributed applications by a collection of classes for use in networked applications. By using Java’s URL class, an application can easily access a remote server. Classes also arc provided for establishing socket level connections.



ROBUST
            The designers of Java anticipated that it would be used to solve some very complex programming problems. Writing distributed, multithreaded program that can run on a variety of operating systems with a variety of processors is not a simple task .To do it successfully, you need all the help your programming language can offer you. With this in mind, Java was created as a strongly typed. Data type issues and problems are resolved at compile-time, and implicit casts of a variable from one type to another are not allowed.

            Memory management has been simplified in Java in two ways. First, Java does not support direct pointer manipulation or arithmetic. This makes it impossible for a Java program to overwrite memory or corrupt data. Second, Java uses runtime garbage collection instead of explicit freeing of memory.

SECURE
            Closely related to Java’s robustness is its focus on security. Because Java does not use pointers to directly reference memory locations, as is prevalent in C and C++, Java has a great deal of control over the code that exists within the Java environment.
            It was anticipated that Java applications would run on the Internet and that they could dynamically incorporate or execute code found at remote locations on the Internet. Because of this, the developers of Java hypothesized the existence of a hostile Java compiler that would generate Java byte codes with the intent of bypassing Java’s runtime security. This led to the concept of a byte-code verifier The byte-code verifier examines all incoming code to ensure that the code plays by the rules and is safe to execute. In addition to other properties, the byte code verifier ensures the following:
  • No pointers are forged.
  • No illegal object casts are performed.
  • There will he no operand stack overflows or underflows.
  • All parameters passed to functions are of the proper types.


INTERPRET
            Java is an interpreted language: the Java compiler generates byte-codes for the Java Virtual Machine (JVM), rather than native machine code. To actually run a Java program, you use the Java interpreter to execute the compiled byte-codes. Because Java byte-codes are platform-independent, Java programs can run on any platform that the JVM (the interpreter and run-time system) has been ported to.

PORTABLE
            Java code is portable. It was an important design goal of Java that it be portable so that as new architectures (due to hardware, operating system, or both) are developed, the Java environment could be ported to them. In Java, all primitive types (integers, longs, floats, doubles, and so on) are of defined sizes, regardless of the machine or operating system on which the program is run.

MULTITHREADED
            Writing a computer program that only does a single thing at a time is an artificial constraint that we’ve lived with in most programming languages. With Java, we no longer have to live with this limitation. Support for multiple, synchronized threads is built directly into the Java language and runtime environment. Synchronized threads are extremely useful in creating distributed, network-aware applications. Such an application may be communicating with a remote server in one thread while interacting with a user in a different thread.

DYNAMIC
            Because it is interpreted, Java is an extremely dynamic language. At runtime, the Java environment can extend itself by linking in classes that may be located on remote servers on a network (for example, the Internet). This is a tremendous advantage over a language like C++ that links classes in prior to runtime.

THE JAVA API
            The Java Application Programming Interface (API) is a set of classes used to develop Java programs. These classes are organized into groups called packages. There are packages for the following tasks:
  • Numeric variable and string manipulation
  • Image creation and manipulation
  • File input and output
  • Networking
  • Windowing and graphical user interface design
  • Applet programming
  • Error handling

THE ABSTRACT WINDOW TOOLKIT
            The Abstract Window Toolkit (AWT) provides a large collection of classes for building graphical user interfaces (GUIs) in Java. With AWT, you can create windows, draw, work with images, and use components like buttons, scroilbars, and pull down menus in a platform-independent way. The java.awt package contains the AWT GUI classes. The java.awt.image package provides some additional tools for working with images. AWT is the largest and most complicated part of the standard Java distribution. As its name suggests AWT is an abstraction. Its classes and functionality are the same for all Java implementations, so Java applications built with AWT should work in the same way on all platforms. AWT uses layout managers to arrange components inside containers and control their sizing and positioning. Layout managers define a strategy for arranging components instead of relying on absolute positioning.

SWING
Of all the new capabilities provided by the JFCI.l, on API, referred to as swing. Swing is the code word used by the Java Soft programming team for the next generation of the AWT. Swing extends AWT by supplying many more types of GUI components, providing 100% pure Java implementations of these components, and allowing the appearance and behavior of this components to he easily tailored. Swing
components are available and consistent across all platforms. The most talked about feature of Swing is its pluggable look and feel. The Swing PL&F architecture makes it easy to. customize both the appearance and behavior of any particular Swing control or any group of those controls.


The Swing include the following features
  • Data Transfer /Clipboard
  • Desktop Colors
  • Delegation Event Model
  • Graphics and images
  • Light weight UI frame work
  • Mouse less operation
  • Popup Menu
  • Printing



3. SYSTEM ANALYSIS

            System analysis will be performed to determine if it is feasible to design information based on policies and plans of the organization and on user requirements and to eliminate the weaknesses of the present system.

General Requirements are: -
1)      The new system should be cost effective.
2)      To augment management, improve productivity and services.
3)      To enhance User/System interface.

3.1 FEASIBILITY STUDY
3.1.1 TECHNICAL FEASIBILITY
            Evaluating the technical feasibility is the trickiest part of a feasibility study. This is because at this point in time, not too many-detailed design of the system are present, making it difficult to access issues like performance, costs on (on account of the kind of technology to be deployed) etc. A number of issues have to be considered while doing a technical analysis.
  • Understand the different technologies involved in the proposed system: Before commencing the project, we have to be very clear about what are the technologies that are to be required for the development of the new system.
  • Find out whether the organization currently possesses the required technologies:
  • Is the required technology available with the organization?
  • If so is the capacity sufficient?

3.1.2 OPETIONAL FEASIBILITY
            Proposed projects are beneficial only if they can he turned into information systems that will meet the organizations operating requirements. Simply stated, this test of feasibility asks if the system will work when it is developed and installed. Are there major barriers to Implementation? Here are questions that will help test the operational feasibility of a project:


  • Is there sufficient support for the project from management from users? If The current system is well liked and used to the extent that persons will not be able to see reasons for change, there may be resistance.
  • Are the current business methods acceptable to the user? If they are not, Users may welcome a change that will bring about a more operational and useful systems.
  • Have the user been involved in the planning and development of the Project?

            Early involvement reduces the chances of resistance to the system and in general and increases the likelihood of successful project.

3.1.3 ECONOMIC FEASIBILITY
            Economic feasibility attempts two ways the costs of developing and implementing a new system, against the benefit that would accrue from having the new system in place. This feasibility study gives the top management the economic justification for the new system.

            The project is not using any additional software and there is no training required to operate the project so it is costing saving.



4. SYSTEM STUDY

4.1 EXISTING SYSTEM:
            The existing text editor available in windows platform is notepad. Notepad has some drawbacks such as we can not change the font of selected region only compulsory it will change the font of all the text. Font coloring is not available in notepad.

            Regarding JAVA editor there are number of editor available but using that we can not edit normal text files. In GEL JAVA editor it is not possible to provide input in the same editor. Again we have to go to the command editor. There is no special editor available for HTML and JavaScript. At last we can say there is no such a system exist which supports normal text files, JAVA programs, HTML and JavaScript programs and which is platform independent.

4.2 PROPOSED SYSTEM:
            In the proposed system we are going to overcome the limitations of notepad such as providing toolbar and font coloring. About the JAVA editor you can compile the JAVA program in the same editor and can give the input for the program in the same editor. First time we are separately providing an editor for HTML and JavaScript programs.
           
            The proposed system which we are going to develop will support normal text files, JAVA programs and HTML and JavaScript Programs as well as which will be platform-independent.

4.3 ADVANTAGE OF PROPOSED SYSTEM
  • The proposed system will he platform-independent.
  • It will he an user friendly.


Comments

Popular posts from this blog

Chemical test for Tragacanth

Chemical test for Benzoin

Chemical test for Agar/Agar-Agar / Japaneese Isinglass