Tauri (software framework)

Last updated
Tauri
Original author(s) Daniel Thompson-Yvetot, Lucas Nogueira
Initial releaseJune 19, 2020;3 years ago (2020-06-19)
Repository github.com/tauri-apps/tauri
Written in Rust & JavaScript
Operating system Linux, macOS, Windows
License MIT License, Apache License 2.0
Website tauri.app
As ofApril 2024

Tauri is an open-source software framework designed to create cross-platform desktop applications on Linux, macOS and Windows using a web frontend. The framework functions with a Rust back-end and a JavaScript front-end [1] WebView using rendering libraries like Tao and Wry. [2] [3] Tauri aims to provide a more lightweight alternative to similar existing frameworks such as Electron. [4] [5]

Contents

Tauri is governed by the Tauri Foundation within the Dutch non-profit Commons Conservancy. [6] As of 2024, Tauri is licensed and distributed under the MIT license, and Apache 2.0 license. [7]

Tauri 1.0 was released in June 2020. In 2024, Tauri v2 Beta was released, which includes mobile support for iOS and Android systems. [8]

Architecture

Central to Tauri's architecture are core components such as the Tauri crate, which serves as a hub for managing various functionalities like runtimes, macros, utilities, and APIs. The toolkit also includes essential tooling such as bundlers, CLI interfaces, and scaffolding kits, to streamline the development and deployment processes. Tauri supports cross-platform application window creation (TAO) and WebView rendering (WRY), which allows compatibility across macOS, Linux and Windows platforms.

Tauri is built using Rust, a programming language emphasizing performance, type safety, and memory safety. It also allows users the function to switch individual APIs on and off, [9] and provides an isolation pattern to prevent untrusted scripts from accessing the back-end from a WebView. [10]

See also

Related Research Articles

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.

In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.

Omnis Studio is a rapid application development (RAD) tool that allows programmers and application developers to create enterprise, web, and mobile applications for Windows, Linux, and macOS personal computers and servers across all business sectors.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

<span class="mw-page-title-main">Site-specific browser</span> Software application for browsing a particular website

A site-specific browser (SSB) is a software application that is dedicated to accessing pages from a single source (site) on a computer network such as the Internet or a private intranet. SSBs typically simplify the more complex functions of a web browser by excluding the menus, toolbars and browser GUI associated with functions that are external to the workings of a single site. These applications are typically started by a desktop icon which is usually a favicon.

<span class="mw-page-title-main">Chromium (web browser)</span> Open-source web browser project

Chromium is a free and open-source web browser project, primarily developed and maintained by Google. It is a widely-used codebase, providing the vast majority of code for Google Chrome and many other browsers, including Microsoft Edge, Samsung Internet, and Opera. The code is also used by several app frameworks.

Apache Cordova is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova. Apache Cordova enables software programmers to build hybrid web applications for mobile devices using CSS3, HTML5, and JavaScript, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone. It enables the wrapping up of CSS, HTML, and JavaScript code depending on the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application nor purely Web-based. They are not native because all layout rendering is done via Web views instead of the platform's native UI framework. They are not Web apps because they are packaged as apps for distribution and have access to native device APIs. Mixing native and hybrid code snippets has been possible since version 1.9.

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

MoSync is a discontinued free and open-source software development kit (SDK) for mobile applications. It is integrated with the Eclipse development environment. The framework produces native mobile applications for multiple platforms using C/C++, HTML5 scripting and any combination thereof. The target group for MoSync are both web developers looking to enter the mobile space, as well as the ordinary PC/Mac desktop developer with knowledge in C/C++ development.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

<span class="mw-page-title-main">OpenFL</span> Software framework for video games

OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript, and may be published as standalone applications for several targets including iOS, Android, HTML5, Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.

<span class="mw-page-title-main">Ionic (mobile app framework)</span> Open-source framework to develop hybrid mobile apps

Ionic is an open-source UI toolkit for building cross-platform mobile, web, and desktop applications using web technologies such as HTML, CSS, and JavaScript/TypeScript. It provides a set of pre-designed UI components and tools for building high-quality, interactive applications. Ionic was originally built as a complete open-source SDK for hybrid mobile app development created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013. The original version was released in 2013 and built on top of AngularJS and Apache Cordova. However, the latest release was re-built as a set of Web Components using StencilJS, allowing the user to choose any user interface framework, such as Angular, React or Vue.js. It also allows the use of Ionic components with no user interface framework at all. Ionic provides tools and services for developing hybrid mobile, desktop, and progressive web apps based on modern web development technologies and practices, using Web technologies like CSS, HTML5, and Sass. In particular, mobile apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by utilizing Cordova or Capacitor.

Crosswalk Project was an open-source web app runtime built with the latest releases of Chromium and Blink from Google. The project was founded by Intel's Open Source Technology Center in September 2013.

<span class="mw-page-title-main">Electron (software framework)</span> Development framework built on Chromium

Electron is a free and open-source software framework developed and maintained by OpenJS Foundation. The framework is designed to create desktop applications using web technologies that are rendered using a version of the Chromium browser engine and a back end using the Node.js runtime environment. It also uses various APIs to enable functionality such as native integration with Node.js services and an inter-process communication module.

Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017. Flutter is used internally by Google in apps such as Google Pay and Google Earth as well as by other software developers including ByteDance and Alibaba.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

<span class="mw-page-title-main">Quasar Framework</span> JavaScript framework

The Quasar Framework is an open-source Vue.js based framework for building apps with a single codebase. It can be deployed on the Web as a SPA, PWA, SSR, to a Mobile App, using Cordova for iOS & Android, and to a Desktop App, using Electron for Mac, Windows, and Linux. Quasar was created by Razvan Stoenescu and is maintained by a small team of developers and contributors. Most from the core team currently work at various companies such as Lenovo, IntelliView Technologies Inc. and AG Development Services.

References

  1. "JavaScript developers: Here are the top trends and tools". ZDNET. Retrieved 2024-04-22.
  2. Alam, Tausif (2022-09-27). "Why People Hate Electron.js (and Why It's Still So Popular)". Analytics India Magazine. Retrieved 2024-04-22.
  3. tauri-apps/tauri, Tauri, 2024-04-14, retrieved 2024-04-14
  4. "Tauri vs Electron: The best Electron alternative created yet". www.astrolytics.io. Retrieved 2024-04-14.
  5. "Creating Tiny Desktop Apps With Tauri And Vue.js". Smashing Magazine. 2020-07-08. Retrieved 2024-04-26.
  6. foundation, The Commons Conservancy (2021-05-16). "Statutes of Tauri". Directives and Regulatory Archive of The Commons Conservancy. Retrieved 2024-04-22.
  7. "Dashboard | FOSSA". app.fossa.com. Retrieved 2024-04-29.
  8. "Announcing the Tauri v2 Beta Release". Tauri. 2024-02-02. Retrieved 2024-04-29.
  9. "Tauri VS. Electron - Real world application". www.levminer.com. Retrieved 2024-04-14.
  10. Tyson, Matthew (2023-03-23). "Intro to Tauri: The Electron alternative". InfoWorld. Retrieved 2024-04-26.