Content deleted Content added
m clean up per WP:CHECKWIKI using AWB |
Jerryobject (talk | contribs) m WP:LINK update. 1st instance full term defined before WP:ABBReviation. |
||
Line 8:
| latest_release_version = 1.1.0 (stable)
| latest_release_date = {{Release date and age|2013|02|13}}<ref>http://blog.opalang.org/2013/02/some-great-news-on-opa.html</ref>
| operating_system = [[Linux]], [[
| genre = [[Programming language]]
| influenced_by = [[OCaml]], [[Erlang (programming language)|Erlang]], [[JavaScript]]
| license = [[MIT License]], [[Affero General Public License|AGPLv3]]
| website = {{URL|
}}
'''Opa''' is an [[
It can be used for both [[client-side scripting|client-side]] and [[server-side scripting]], where complete programs are written in Opa and subsequently compiled to [[Nodejs]] on the [[server (computing)|server]] and [[JavaScript]] on the [[client (computing)|client]], with the [[compiler]] automating all communication between the two.<ref>{{cite web |author=Adam Koprowski|url=http://www.developer.com/open/opa-vs.-node.js-javascript-framework-comparison.html|title=Node.js vs. Opa: Web Framework Showdown|publisher=developer.com|date=24 February 2012}}</ref><ref>Opa actually supports various server-side backends, Nodejs being the most popular one</ref> Opa implements [[Strong typing|strong]], [[static typing]], which can be helpful in protecting against security issues such as [[SQL injection]]s and [[cross-site scripting]] attacks.<ref>{{cite journal|url=http://www.mendeley.com/research/static-enforcement-of-web-application-integrity-through-strong-typing/|title=Static Enforcement of Web Application Integrity Through Strong Typing|last1=Robertson |first1=William |last2=Giovanni |first2=Vigna |year=2009|journal=SSYM'09 Proceedings of the 18th conference on USENIX security symposium}}</ref>
Line 28:
Opa consists of a [[web server]], a [[database]] and distributed execution engine.<ref>{{cite web |url=http://www.webappers.com/2011/07/22/opa-the-scalable-open-source-cloud-language/|title=Opa – The Scalable Open Source Cloud Language |publisher=WebAppers |date=22 July 2011}}</ref> Code written in Opa is compiled to [[JavaScript]] using [[Node.js]] on the [[Server-side scripting|server side]] and to [[JavaScript]] using [[jQuery]] for cross-browser compatibility on the [[Client-side scripting|client side]].<ref>{{cite web |url=http://www.infoq.com/articles/Opa|publisher=InfoQ|title=Interview: François-Régis Sinot on Opa, a Web Development Platform|date=7 September 2011}}</ref>
The advantage of the approach compared to certain [[Rich Internet Application]] (RIA) platforms is that users are not required to install a [[Browser plugin|plugin]] in their browser.<ref>{{cite web |author=Neil McAllister|url=http://www.infoworld.com/d/application-development/introducing-opa-web-dev-language-rule-them-all-172060|publisher=InfoWorld |title=Introducing Opa, a Web dev language to rule them all |date=8 September 2011}}</ref> Opa shares motivations with [[web framework]]s, but takes a different approach.<ref>{{cite web|url=http://www.infoworld.com/d/developer-world/infoworld-review-tools-rapid-web-development-297|title=InfoWorld review: Tools for rapid Web development|publisher=[[InfoWorld]]|date=12 May 2010}}</ref>
Its designers assert that this helps Opa to avoid many security issues, like [[SQL injection]]s or [[
The core language is [[functional programming|functional]] and has a static [[type system]] with [[type inference]]. Opa also provides sessions which encapsulate an [[imperative programming|imperative]] state and communicate using [[message passing]], similar to [[Erlang (programming language)|Erlang]] processes. Opa provides many structures or functions that are common in web development, as [[first-class object]]s,
Line 74:
== External links ==
* {{
{{JavaScript}}
|