Coman Florin Alexandru – CN „Ştefan cel Mare” Suceava,
coman.florin.alexandru@gmail.com
Avădănei Andrei – CN „Mihai Eminescu” Botoşani,
andrei@worldit.info
Adoamnei Andrei – CN „Mihai Eminescu” Suceava,
andy4all2all@yahoo.com
Teachers:
Giorgie Vlad Daniel – Colegiul NaŃional "Ştefan cel Mare" Suceava, România
Costineanu Raluca – Colegiul NaŃional "Ştefan cel Mare" Suceava, România
Chira Liliana – Colegiul NaŃional "Mihai Eminescu" Botoşani, România
Carmen Popa – Colegiul NaŃional "Mihai Eminescu" Suceava, România
Abstract
Online Visual PHP IDE is a WYSIWYG type web platform that attempts to improve and simplify productivity of web developers. The application comes with an organized system based on MVC (application revolves around a framework which use as design pattern the MVC format) interface that provides developers a range of objects, called controllers, that perform various functions. The entire application can be created using the mouse and writing few lines of code. All new applications will be created under the same programming pattern - MVC.
1 Introduction
The application combines server-side programming - PHP & MySQL with client side technologies like HTML, CSS 3, JavaScript and jQuery, giving the user a pleasant and quick navigation. Interface, created with the most powerful technologies available today, is divided into three main columns, having already established structure of other visual editors such as Microsoft - Visual Studio. Thus, we guarantee that the developer will live the most pleasant experience, in a simplified manner.
The project is remarkable because it is the only online application that deals with the subject - development of web applications in a visual and interactive way, using objects from the toolbox that have PHP / MySQL code. The application aims to become the main software for developers to be used by beginners in the field to create complex and powerfull web applications, in a short period of time. Thus, developers can focus on innovation, a subject that requires time and dedication, giving up the development of things that already commonplace and eating time. 2 The problem solved by Online Visual PHP
The problem that gave birth to this application is formulated as follows:
Analyzing the projects developed by me in my spare time, I realized that many things do get boring, but they eating time. I noticed that sometimes I use different functions / classes that have already implemented in other projects, obviously with some modifications.
I studied this problem because I was not only wasting time, but I was writing bad code - code that was not reusable. I went to study different design patterns of programming, including most adaptable seemed MVC. Okay, but followed another question. If I have this problem, it might be encountered by more like me. Is not nice to make a framework with most classes I develop?
It is time for the question that gave life to project - but still, how everyone will understand my core framework? What could be simpler than a thing that will be moved with the mouse? After all, why is so popular Visual Studio? It's simple - it uses some simplified objects within, keeping still possible to develop powerful applications in a short time. But the web? There is not anything. Although Visual Studio provides an option to develop web applications, objects made available to offer more features related to client side problems. I also had to choose between a software and a web application. The project was made using web technologies since large companies tend to go online.
3 General features Online Visual PHP IDE
Platform revolves around a simplistic interface, which tries to offer the most pleasant experience and also the most efficient and productive web development environment. The interface is created from scratch using client side technologies - jQuery, Javascript, CSS and HTML, communicating with "behind scenes" using an extensible API which deals transactions using Ajax calls.
Supports:
creating a new project
preview project
delete project
save project
download project (with or without framework)
dinmaic resources loading
client logger ajax communications profile personalization visual editor classic editor Framework
The heart of the application is obvious the framework. Since the development of a framework may take a long time, the framework of the Visual PHP IDE always accepts feedback. Until now, the core framework has basic classes, with various helpers that are useful within the project or heart of the project – the framework.
Supports:
• organization in MVC format
• caching system
• file based caching
• helper for file management (all file operations ar implemented)
• helper for directory management
• helper for library control – helpers, classes, controllers library
• helper for directory tree management
• helper for management of XML objects, parsing and working with dinamic objects
• controllers for server side events (events.php), php controllers (phpcontroller.php ) and so on
• abstract class of a model
• supports MySQL, based on abstract class of the model
• basic rendering system
• logging errors system
• multiple application support
• helper for zip compression
• helper for handling all informations for client side Classic Editor
Projects can be developed using two of the Online Visual PHP IDE facilities. One of these is the classic editor.
Supports :
sintax highlighting
auto-fill
multiple file handling
saving files using the combination of CTRL+S
tabbing system for a simple navigation through opened files
change order of files
it supports hot keys like CTRL+C, CTRL+V, CTRL+X for copy, paste and cut
all file queries are made using asyncronious requests - Ajax
directory tree viewer
client file caching Visual Editor
Visual editor is one of the most important components of the application. This feature escape web developer boredom and worries that it constitutes at a time when developing routine applications. Thus, he is offered the opportunity to work on components which worth more attention and know how.
Supports:
resize work space
dinamic enviroment which can interact with objects (controllers from toolbox)
the form supports unlimited objects
toolbox organized on categories
the posibility of building others controllers
drag & drop management
multi selection
Below we have a template of a website where we have PHP code within the page, and an object from the toolbox - Search.
Toolbox & Controllers
Toolbox is the virtual library of Online Visual PHP IDE platform. Here all controllers are available to developer and are organized in folders for easier viewing.
All these controllers (widgets) can be "pulled" into the document visually, starting the development of the project, controllers beeing the most important aspect of it. Other features are almost useless without these small energetic pulses giving life to the new website. To set up efficient, they have various options to set the auxiliary variables in the rendering (creating output), and the processing of dynamic in the serverside. The application also has an event system (events) that trigger at certain critical moments such as load controller, rendering it or removing it from the web plate. Besides server-side events, a controller supports client-side events - JavaScript.
Supports :
• multiple properties manager
• multiple events manager
• multiple jsevents manager
• dinamic events creator
• automatic update of properties
• automatic update of configurable files (interface / control)
• extensibility
• server side events (for example onLoad)
• all information which are sended from server side to client side and reverse are made using asyncronious ajax requests
4 Website created in Online Visual PHP IDE
Below, we have a project created in Online Visual PHP IDE. I used a free template for interface and later I added a simple controller - Search. It adapts to any type of table, easy to comply with some conditions which are necessary - support the "title", "content", "description" and optional "tags", "author" and so on. After that, I wrote 15-20 lines of code to display items (results) after they were given by controller. They were written in an event that triggers controller. Below are some pictures to the website created in Online Visual PHP IDE.
Other features
• Open project
If we want to open another project developed by us, we simply select the desired project.
• Download project
When I finished working on the project, we'll probably want to unload the project and put it on our site. For this, we will export it. If we want to do this without Visual PHP IDE core framework, we will uncheck the box for this thing.
• Preview project
Online Visual PHP IDE has an important function - can see a preview of your project. Thus, no need to already have a server to test projects developed.
• Upload files
If you work on your computer faster or you have something you worked on another PC without Internet access, you
can upload files as soon as you finish them. The only supported format is *. zip archive files are organized in a certain way.
• Profile
Another feature minimalist is profile - here you can change some basic settings of your profile.
In the feature
The project is not and will not be abandoned. Soon will enter in a new stage of intensive development, following the improved platform stability, and render API standardization of communication and code analyzer. The platform also will suffer a lot of improvements including:
• Code inspector
• Debugging (watch, break, analyze, stiva samd)
• Subversioning
• Project Management
• code interpretor
• view generator
• the posibility of using FTP for storing files
• improved platform stability
• create more controllers
• team project management
• build controllers directly from Online Visual PHP IDE
• build framework classes
• create a community around this project
• create documentation for every class/function 5 Conclusion
Through this project I want to bring more innovations in the field of web programming as a programming language in visual enviroment that allows the user to use classes, without programming knowledge needed to create these complex objects .
Online Visual PHP IDE is the only online tool of its kind that works online. The user will be able to create a more complex work in an easier manner. Thus, it will not lose precious time to create those functions commonly used but time will focus attention only on new things. No need to reinvent the wheel, but using tools provided by the IDE can create complex applications with a low Human Resources. In the future, such programming languages Visual Basic, C #, Delphi and so on, the user can take their ideas to reality.
Following a market analysis done by my me, I have concluded that many people want to create a powerful website. Just as they face a very strong barrier, the barrier of needing a strong knowledge in the field. Thus, instead of learning lots of languages that require more time and resources, the user can dedicate their time learning one language, deriving from PHP – Online Visual PHP which could be achieved much more easily a site complex than if we make a site with all the knowledge gained in each language.
How Visual C#, Visual Basic, Java or Delphi have revolutionized the way that software applications are created, so Online Visual PHP IDE can revolutionize how web applications will be created.