JsPHP

Last updated
JsPHP
Glider.svg
Original author(s) Kevin van Zonneveld
Developer(s) International community
Initial releaseDecember 21, 2011 (2011-12-21)
Written in JavaScript
Size varies
Type JavaScript library
License Dual license:
GNU GPL or MIT
Website www.jsphp.com

JsPHP is a cross-browser JavaScript library designed to make the PHP application programming interface (API) available in JavaScript environments. It was started by Kevin van Zonneveld as php.js and released as an open-source project in 2008. In late 2011 John Elliot forked the php.js project to JsPHP and released a web-based collaborative integrated development environment (IDE) at www.jsphp.com in an effort to rejuvenate and breathe new life into the project, and as an excuse to develop a content management system (CMS) with features for software developers, such as unit testing and benchmarking. [1] [2]

Contents

JsPHP is free, open source software, dual-licensed under the MIT License or the GNU General Public License, Version 2. [3] JsPHP is designed to provide a familiar and powerful programming interface for JavaScript programmers with a background in, or integrating with, PHP. JsPHP is a useful supplement to other JavaScript libraries and can be used in Ajax applications and dynamic web pages and web applications.

Etymology

The 'js' in JsPHP is short for JavaScript and the 'PHP' stands for PHP: Hypertext Preprocessor. As with many software projects [4] the name JsPHP was taken because a domain name, www.jsphp.com, was available; and the name is otherwise concise and descriptive.

Features

JsPHP has support for the vast majority of the PHP API, including functions for array, math, class/object manipulation, date and time, error handling and logging, filesystem, function handling, JSON, regular expressions, streams, strings, tokenization, URLs and XML.

Including the library

The JsPHP library is only available in custom packages. This means a software developer selects the functions they need and a JsPHP library file is compiled with the selected functions and their dependencies. Functions are also available for individual download. Downloads can be in one of two classes, either "production code" (which has been specifically flagged as fit for release) and "development code" (which is the latest available code in the repository).

Developing at www.jsphp.com

The JsPHP library is developed at www.jsphp.com, which provides a CMS and IDE for development and testing of the software. Of particular note are the built-in code editing, unit testing and benchmarking facilities. The unit testing facility is built on the QUnit library, part of the jQuery project.

See also

Related Research Articles

NetBeans Integrated development environment software for software development

NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called modules. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java development, it has extensions for other languages like PHP, C, C++, HTML5, and JavaScript. Applications based on NetBeans, including the NetBeans IDE, can be extended by third party developers.

Eclipse (software) Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

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

Dojo Toolkit Open-source modular JavaScript library

Dojo Toolkit is an open-source modular JavaScript library designed to ease the rapid development of cross-platform, JavaScript/Ajax-based applications and web sites. It was started by Alex Russell, Dylan Schiemann, David Schontzler, and others in 2004 and is dual-licensed under the modified BSD license or the Academic Free License.

Selenium is a portable framework for testing web applications. Selenium provides a playback tool for authoring functional tests without the need to learn a test scripting language. It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including C#, Groovy, Java, Perl, PHP, Python, Ruby and Scala. The tests can then run against most modern web browsers. Selenium runs on Windows, Linux, and macOS. It is open-source software released under the Apache License 2.0.

Google Web Toolkit Free Java library

Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files. It is licensed under the Apache License 2.0.

Google Developers is Google's site for software development tools and platforms, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.

Aptana Text editor

Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.

YUI Library

The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several core CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.

jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax. It is free, open-source software using the permissive MIT License. As of May 2019, jQuery is used by 73% of the 10 million most popular websites. Web analysis indicates that it is the most widely deployed JavaScript library by a large margin, having at least 3 to 4 times more usage than any other JavaScript library.

TypeScript is a programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language. TypeScript is designed for the development of large applications and transcompiles to JavaScript. As TypeScript is a superset of JavaScript, existing JavaScript programs are also valid TypeScript programs.

Silverstripe CMS

Silverstripe CMS is a free and open source content management system (CMS) and framework for creating and maintaining websites and web applications. It provides an out of the box web-based administration panel that enables users to make modifications to parts of the website, which includes a WYSIWYG website editor. The core of the software is Silverstripe Framework, a PHP Web application framework.

CodeLite Integrated development environment

CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript (Node.js) programming languages.

Node.js JavaScript runtime environment

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

PhpStorm integrated development environment for PHP

PhpStorm is a proprietary, cross-platform IDE for PHP, built by the Czech Republic-based company JetBrains.

Dart is a programming language designed for client development, such as for the web and mobile apps. It is developed by Google and can also be used to build server and desktop applications.

React (JavaScript library) JavaScript library for building user interfaces

React is a free and open-source front-end JavaScript library for building user interfaces or UI components. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications. However, React is only concerned with state management and rendering that state to the DOM, so creating React applications usually requires the use of additional libraries for routing, as well as certain client-side functionality.

References

  1. "The History of php.js" . Retrieved 2012-04-06.
  2. "JsPHP Welcome" . Retrieved 2012-04-06.
  3. "License – JsPHP" . Retrieved 2012-04-06.
  4. "BarCampNYC Wrap-up". John Resig. Retrieved 27 May 2011.(click on the "Show Comments" link at the bottom of the cited page)