Podcast Summary
Discussing Desktop App Development with Electron and Tori: JavaScript and TypeScript can be used for desktop app development through Electron and Tori. Tools like Sentry and Prismic enhance the process, with Sentry offering real-time error tracking and Prismic acting as a headless CMS for creating components.
Desktop app development using JavaScript or TypeScript can be accomplished through platforms like Electron and Tori. During this episode of Syntax, Scott Talensky and Wes Bos discussed their experiences with these platforms and shared their excitement for their capabilities. They also highlighted the importance of having tools like Sentry and Prismic to enhance the development process. Sentry, a sponsor of the show, provides real-time error tracking and exception handling, allowing developers to quickly address issues affecting users. Prismic, another sponsor, is a headless CMS that lets developers create components and allows marketing teams to assemble pages using those components. This approach streamlines the development process and caters to both technical and marketing teams. Overall, the discussion emphasized the power and versatility of JavaScript and its related tools for creating desktop applications.
Creating marketing pages with Prismic and developing desktop apps with Electron: Prismic offers efficient marketing page creation through customizable components, while Electron enables desktop app development with system control and file access.
Prismic's approach to marketing allows developers to build components that match up with various content management system (CMS) slices and output a page using their preferred framework, offering a cool and efficient way to create marketing pages. This discussion also touched upon building desktop applications using Electron, which provides more control over the system and access to the file system compared to web development. The speaker shared their experience of creating a note-taking app using Electron and React, and expressed excitement about using Tory, a new tool that supports mobile apps using WebText, for their dance app project. Overall, the conversation highlighted the versatility and potential of various development tools and frameworks for creating engaging and effective marketing pages and applications.
Creating a Desktop App with JavaScript and Electron: Building a desktop app using JavaScript and Electron is an accessible project for those familiar with JavaScript, allowing the use of known technologies and the creation of a wrapped web application that feels native.
Building a desktop application using JavaScript and Electron can be a simple and creative project, even if similar apps already exist. The speaker, inspired by a desire to streamline his webcam selection process, built an app in under an hour, demonstrating the accessibility of desktop app development for those already familiar with JavaScript. The benefits include using known technologies, such as React or Node, for both front-end and back-end development, and the ability to create a wrapped web application, which can feel like a native desktop app. This process can be a fun and rewarding way to learn and avoid burnout. Despite the existence of similar apps, the speaker emphasizes the importance of creativity and experimentation in coding.
Two frameworks for building desktop apps with web tech: Electron vs Tory: Electron bundles a whole browser inside the app for ease of use but larger app sizes and higher memory usage, while Tory uses native web views for smaller apps and less memory usage
Electron and Tory are two popular frameworks for building desktop applications using web technologies, but they have different approaches. Electron bundles Chromium inside the application, providing a single target and ease of use, but resulting in larger app sizes and higher memory usage. Tory, on the other hand, utilizes the native web view of the operating system, resulting in smaller apps and less memory usage. This approach is similar to how web views work in mobile apps. The main difference is that this concept has not been widely used in the desktop space before. By not including a whole browser, apps built with Tory can be significantly smaller, as small as less than 600 kilobytes. This can be a significant advantage for users with limited resources or for applications that require minimal overhead.
Build cross-platform apps with Tori using a browser in a frame and native APIs: Develop and deploy web, desktop, iOS, and Android apps from the same codebase using Tori's browser-based approach and native APIs
Tori is a framework that allows developers to build cross-platform applications using a browser in a frame, backed by APIs for native functionality. This approach, while requiring support for multiple browsers, allows for writing code once and shipping it to all native platforms. Tori's use of Rust for the core with a TypeScript API means that developers don't need to be Rust experts to use it, as most APIs are JavaScript-based. This is similar to how Meteor operates. While some may argue that web view-based apps can feel less performant or less polished than native apps, good apps built using this technology can function well and users typically don't mind that the code isn't native. The advantage of using Tori is the ability to develop and deploy a web, desktop, iOS, and Android version of an application from the same codebase. Additionally, Tori's recent addition of iOS and Android support further expands its reach.
Meteor's Self-Contained Architecture: Meteor's architecture handles more functionality within the client, potentially reducing the need for inter-process messaging, and its back end can be in Rust with sidecar support for other languages.
Meteor, an older full-stack JavaScript platform, was ahead of its time with features like direct client-to-database saving, one-click mobile app deployment using WebView and Cordova, and sidecar support for running processes in various languages. Unlike Electron, which requires communication between a Node.js process and an HTML frontend using IPC, Meteor seems to handle more functionality within the client itself, potentially reducing the need for inter-process messaging. Another notable difference is that while Electron's back end is based on Node.js, Meteor's back end can be in Rust, with sidecar support for other languages. Overall, Meteor's architecture appears more self-contained, which might simplify development compared to Electron's need for constant communication between the front and back ends.
A new app development platform called Tori offers a more efficient experience: Tori is a new app development platform that streamlines the development process with features like running alerts, saving file systems, and copying clipboard content in a single workflow within a secure sandbox environment. It also aims to make shipping apps to the App Store easier compared to traditional methods.
Tori, a new app development platform, offers a more efficient and streamlined development experience compared to traditional desktop apps. With Tori, developers can run alerts, save file systems, and copy clipboard content in a single workflow, all within a secure sandbox environment. However, Tori currently lacks extensive documentation, a large community, and the extensive package library found in other platforms like Electron. Additionally, the process of shipping apps to the App Store using Tori is expected to be easier compared to the painful experience of using Apple's web UI for certificates and other requirements. The downside of Tori is that it's new and not yet fully featured, but its potential for streamlined development makes it an exciting alternative to traditional desktop app development. The speaker also mentioned that the bundling and signing process in Electron, which Tori aims to improve, can be a significant pain point for developers. Overall, Tori's potential for simplifying the development process and the speaker's positive experience with it make it an intriguing option for developers looking for a more efficient way to build and deploy desktop applications.
Using Safari for Electron apps on Apple Silicon: Safari offers performance improvements for Electron apps on Apple Silicon but lacks advanced build targets and customization options, making development more challenging. Tools like Vite plug in Electron can simplify the process with features like auto-reloading and TypeScript support.
Using Safari instead of Chrome for running Electron apps on Apple Silicon can lead to significant performance improvements. However, there are concerns about the lack of advanced build targets and customization options in Safari compared to Chrome, which may make development more challenging. The tooling for setting up and running Electron apps, specifically with TypeScript and live reloading, can also present some difficulties. Despite these challenges, the use of tools like Vite plug in Electron can simplify the development process and offer benefits like auto-reloading and writing TypeScript for both the front and back end. Ultimately, the decision to use Electron on Apple Silicon with Safari or Chrome depends on the specific needs and priorities of the development team.
Bringing a breakdancing app to the App Store with Supabase: A creator shares his excitement about launching a breakdancing app on the App Store using Supabase, and discusses the potential market and JavaScript's role in desktop app development
A creator is looking forward to bringing his long-term breakdancing app project to the App Store, now that breaking has been included in the Olympics. He is using Supabase for his app development and is excited to see how it feels to have his app available for the public. He believes that with the growing popularity of breaking, there is a potential market for such apps. The discussion also touched upon JavaScript being a significant contender for desktop application development, with Supabase and Electron being two notable platforms. The speaker encourages listeners to share their ideas for cool desktop apps they'd like to create using these tools on Twitter.