PRADO (framework)

Last updated
PRADO
Developer(s) PRADO Group
Initial releaseSeptember 1, 2004 (2004-09-01)
Stable release
4.2.0 [1] / 2022-04-19 [±]
Repository Prado Repository
Written in PHP
Operating system Cross-platform
Type Web framework
License Modified BSD License [2]
Website www.pradoframework.net

PRADO is an open source, object-oriented, event-driven, component-based PHP web framework. [3] PRADO is used for the development of interactive web pages and applications. [4] In 2013, it was considered by Computer Science educators to be one of the top six PHP web frameworks. [5]

Contents

History

PRADO's name is an acronym derived from "PHP Rapid Application Development Object-oriented". [6] The PRADO project was started by Qiang Xue and was inspired by Apache Tapestry. [6] The framework also borrowed ideas from Borland Delphi and Microsoft's ASP.NET framework. The first public release of PRADO came out in June 2004, but was written using the very limited and now outdated PHP 4 object model, which caused many problems. Qiang re-wrote the framework for the new PHP 5 object model, and won the Zend PHP 5 coding contest with it.[ citation needed ]

PRADO is a rapid application development (RAD) framework, and in its infancy was criticized as not yet ready for high-performance, high-traffic scenarios. [7] Implementations of template and configuration caching in later PRADO releases eliminated some performance bottlenecks in its architecture, increasing its suitability for medium- to high-traffic websites.[ citation needed ]

In 2008, PRADO was succeeded by the Yii framework, a conceptual redesign of PRADO targeted to high-traffic scenarios. [8]

Related Research Articles

In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software, while preserving its functionality. Potential advantages of refactoring may include improved code readability and reduced complexity; these can improve the source code's maintainability and create a simpler, cleaner, or more expressive internal architecture or object model to improve extensibility. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

The following outline is provided as an overview of and topical guide to software engineering:

In software engineering, the terms frontend and backend refer to the separation of concerns between the presentation layer (frontend), and the data access layer (backend) of a piece of software, or the physical infrastructure or hardware. In the client–server model, the client is usually considered the frontend and the server is usually considered the backend, even when some presentation work is actually done on the server itself.

In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard way to build and deploy applications and is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate the development of software applications, products and solutions.

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

Object-oriented analysis and design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality.

<span class="mw-page-title-main">Component-based software engineering</span> Branch of software engineering

Component-based software engineering (CBSE), also called component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a given software system. It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems. This practice aims to bring about an equally wide-ranging degree of benefits in both the short-term and the long-term for the software itself and for organizations that sponsor such software.

Scaffolding, as used in computing, refers to one of two techniques:

<span class="mw-page-title-main">Monolithic application</span> Software design pattern

In software engineering, a monolithic application is a single unified software application which is self-contained and independent from other applications, but typically lacks flexibility. There are advantages and disadvantages of building applications in a monolithic style of software architecture, depending on requirements. Alternative styles to monolithic applications include multitier architectures, distributed computing and microservices.

Qcodo is an open-source PHP web application framework which builds an object-relational model (ORM), CRUD UI pages, and AJAX hooks from an existing data model. It additionally includes a tightly integrated HTML and JavaScript form toolkit which interfaces directly with the generated entities. It is a robust, comprehensive framework which can be utilized by small and large Web applications alike.

This is a comparison of notable web frameworks, software used to build and deploy web applications.

In software engineering, a resource-oriented architecture (ROA) is a style of software architecture and programming paradigm for supportive designing and developing software in the form of Internetworking of resources with "RESTful" interfaces. These resources are software components which can be reused for different purposes. ROA design principles and guidelines are used during the phases of software development and system integration.

The front controller software design pattern is listed in several pattern catalogs and is related to the design of web applications. It is "a controller that handles all requests for a website," which is a useful structure for web application developers to achieve flexibility and reuse without code redundancy.

<span class="mw-page-title-main">CodeCharge Studio</span>

CodeCharge Studio is a rapid application development (RAD) and integrated development environment (IDE) for creating database-driven web applications. It is a code generator and templating engine that separates the presentation layer from the coding layer, with the aim of allowing designers and programmers to work cohesively in a web application.

Yii is an open source, object-oriented, component-based MVC PHP web application framework. Yii is pronounced as "Yee" or [ji:] and in Chinese it means "simple and evolutionary" and it can be an acronym for "Yes It Is!".

Apache Attic is a project of Apache Software Foundation to provide processes to make it clear when an Apache project has reached its end-of-life. The Attic project was created in November 2008. Also the retired projects can be retained.

References

  1. "PRADO PHP Framework". pradoframework.net. Retrieved 23 April 2022.
  2. "PRADO PHP Framework".
  3. Kreussel, Peter (April 2008). "Web Helper: PHP application development with Prado". Linux Magazine . 89: 34–37.
  4. Bertuol, Marcos Roberto (17 November 2011). "Prado PHP Framework: um estudo experimental para controle de acesso a sites". Trabalho de Conclusão de Curso (Graduação), Universidade Tecnológica Federal do Paraná, Medianeira (in Portuguese).
  5. Lancor, Lisa; Katha, Samyukta (2013). "Analyzing PHP frameworks for use in a project-based software engineering course". Proceeding of the 44th ACM technical symposium on Computer science education. Sigcse '13. Denver, Colorado, USA: ACM Press. pp. 519–524. doi:10.1145/2445196.2445350. ISBN   978-1-4503-1868-6. S2CID   8392578.
  6. 1 2 "About PRADO". pradoframework.net.{{cite web}}: CS1 maint: url-status (link)
  7. Firdaus, Yanuar; Maharani, Warih (21 June 2008). "ANALISIS PERFORMANSI FRAMEWORK PRADO DAN CAKEPHP PADA APLIKASI WEB AJAX". Proceedings Seminar Nasional Aplikasi Teknologi Informasi (SNATI) (in Indonesian). Yogyakarta. ISSN   1907-5022.
  8. Makarov, Alexander (4 March 2017). "The History of Yii Framework". en.rmcreative.ru. Retrieved 2021-07-27.{{cite web}}: CS1 maint: url-status (link)