JSJ 348: EnactJS with Ryan Duffy

JSJ 348: EnactJS with Ryan Duffy

Sponsors
- https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv
- http://sentry.io use the code "devchat" for $100 credit
- https://clubhouse.io/jsjabber
- https://www.cachefly.com/
PanelAimee KnightAaron FrostChris FerdinandiJoe EamesSpecial Guest: Ryan Duffy In this episode of JavaScript Jabber, the panelists talk with Ryan Duffy who works on the EnactJS framework at LG Electronics. Ryan explains the framework in depth and answers all the questions about its design and implementation from the panelists and discusses some challenges faced along the way. Check it out! Show Notes:00:28 – Advertisement - https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv 1:08 - Ryan introduces himself and explains a bit about the EnactJS framework. While giving some background, he says that it is the 3rd generation of web frameworks that supports apps on webOS and they started building Enact on top of React about two years ago.2:00 - Aimee asks what exactly does webOS mean. Ryan answers that webOS was created by Palm for phones and related devices and it has several instances of chromium running on device with some service layer stuff.2:36 - Aaron mentions that webOS was big when other operating systems were still coming up, and Ryan agrees saying that it didn’t get the adoption needed to make it successful later.3:00 - Ryan says that he always loved building apps for webOS phones given the flexibility and ease coming from a web development background.3:53 - Aaron asks on which other applications is webOS running other than TV. Ryan answers that TV is one of the major consumptions, and it also runs on certain robots such as the concierge ones, watches to some extent and a lot of projects internally, not yet released in the market.4:50 - Aaron asks if the Enact framework is big internally at LG. Ryan replies that it is the primary framework used for apps running on webOS.5:03 - Aaron enquires about the nature of adoption of Enact for third party or non-LG people, to which Ryan states that Enact remains the standard framework for people who are building apps.5:32 - Joe joins in the conversation.6:25 - Aaron remarks that given that webOS is used in latest robots, televisions, watches and other such apps, it sounds like they are heavily investing into it. Ryan affirms by saying that the webOS journey goes from Palm phones to HP tablets to finally coming to LG. He goes on to explain their team structure, stating that there are two major teams in play right now - the R&D team is in the US and the implementation team is in Korea.8:00 - Aaron asks about the role their team plays in the app development. Ryan replies that his team is the stack team that forms the foundation for the apps and they take decisions on what the components should look like and similar tasks. The app teams based in Korea decide their menu based on those decisions.8:35 - Aaron asks what exactly is meant by the Blink team. Ryan answers that the it’s the team that works with an LG customized version of chromium.9:10 – Aaron then asks about his individual role in the team. Ryan says that he is one of the managers of the stack team and he’s been on the team for little more than 4 years.9:30 - Aaron asks about the evolution of the framework over time. Ryan describes the historical background by saying that in the initial Enyo design the team built, was component based, and every tool needed to build single page apps had to be developed from scratch. He says that they felt the need to move on to an improved framework as they wanted to take advantage of the robust ecosystem that existed, so they ported component libraries of Enyo using the React toolset to form Enact.11:43 - Aaron asks if Enyo then ceased to exist to which Ryan states that it is still around to some extent.12:20 - Aaron asks if the team has something like “create Enact app” to create a new app internally, like React. Ryan mentions that Jason - a tooling and automation expert from their team has built a feature called V8 snapshot - which loads JavaScript into memory and takes a snapshot - can in turn be loaded by the TV to launch the app in order to achieve a faster load time. He says that their long-term goal is to increase compatibility with the ecosystem.14:40 - Aaron asks if he can use the React CLI to create something for TV as a third-party developer. Ryan elaborates that CLI can be used to build, compile and bundle apps and there is another tool- SDK to bundle it for delivery to the TV. The app is tested fully in chrome, bundled and deployed to the TV.15:25 - Aaron asks if choosing React was a natural decision for the team. Ryan explains that they researched on some component-based frameworks that were available at that time and found that React was the best choice.17:30 - Aimee asks the reason for open sourcing the framework. Ryan mentions that Enyo always has been open source. He also remarks that the team does not get a lot of input from the community and would like to get more information about what’s working and what’s not and how they can contribute back.19:40 - Aaron asks about the kind of apps can be built by using Enact except for TV. Ryan says that any kind can be built but the hesitation is that the UI library is specially designed for TV, so they may look different for other spaces like phones or other devices.20:35 – Advertisement – https://sentry.io/welcome/ – Use the code “devchat” to get two months free on Sentry’s small plan.21:30 - Aaron asks what decisions around making apps are made by Enact for the developers. Ryan explains that the architectural pattern they have chosen is higher order components, and there is a lot of attention on render props that can be easily plugged into the apps.22:48 - Aaron asks if the state part was built by the team on their own. Ryan answers in affirmative that everything in Enact is completely built by the team, no external states are used within the framework. No decisions are made in the data space yet. He mentions that they had tried to limit their Enact development effort in cases where the solution was already available unless they had a new perspective on the problem.24:30 - Aaron remarks the idea of Enact being something like a webpack is becoming clearer for him and asks Ryan if his team is spending most of their time in building component libraries. Ryan affirms by explaining that Enact is designed in layers. He goes on to explain that focus management is a difficult problem to solve where the ability to navigate an application intuitively such as in the case of remote control is handled by a certain component. Also, as LG ships TVs all over the world, there are significant internationalization requirements. He then elucidates the TV centric moonstone library in detail and states that they took all the base capabilities from it and formed a UI layer.27:26 - Aaron asks if moonstone is theme-able. Ryan says that it’s not and the UI layer in not styled.28:40 - Chris asks, as someone who manages open source projects and builds tools, about the process of making decisions on the kind of components to include and challenges Ryan and his team faced in the open source space.29:45 – Ryan says that they haven’t had the ideal open source experience yet. They do have a lot of discussions on API design and components but it’s a struggle to what to include and what to not.31:25 - Chris shares his own experience while stating that finding a common ground is always hard especially when there is internal resistance in convincing people to use new software. Ryan says that internally their biggest struggle is that a group of people use the Qt platform and there is chunk of webOS that is built on it and not on Enact. Trying to convince people to do the migration from Enyo to Enact was difficult but they have had most success in trying to eliminate friction and it was easier in the sense that there weren’t any required parameters for things.36:05 – Aaron states that all his questions are answered and his understanding of Enact is clear.36:21 – Advertisement - https://clubhouse.io/?rsCode=JSJABBER&rsEngagementMedium=UNKNOWN&rsShareMedium=UNKNOWN&utm_campaign=saasquatch&utm_medium=link&utm_source=invite 37:10 – Picks!43:41- END – Advertisement - https://www.cachefly.com/ PicksJoe
- https://www.kickstarter.com/projects/1875657065/monsters-of-feyland-for-5th-edition
Chris
- Presentation by Eric Bailey on Accessibility - https://noti.st/ericwbailey/TcMJFP/if-it-s-interactive-it-needs-a-focus-style
- https://ubtrobot.com/collections/jimu-robots
- https://www.imdb.com/title/tt0910970/
Aimee
- Coworkers at NPM
Aaron
- https://en.wikipedia.org/wiki/Pierogi
- https://en.wikipedia.org/wiki/Harry_Potter_and_the_Cursed_Child
Ryan
-

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Avsnitt(735)

Exploring ReactScan: Aiden Bai's Tool for Identifying React Performance Issues - JsJ 668

Exploring ReactScan: Aiden Bai's Tool for Identifying React Performance Issues - JsJ 668

In this episode of JavaScript Jabber, panelist Dan Shappir sits down with guest Aden Bai to delve into the nuances of React performance. Broadcasting from Tel Aviv, Dan welcomes Aden, who is based in San Francisco, for an insightful discussion on optimizing React apps. Aden, known for his projects Million JS and ReactScan, shares his journey into coding and his focus on enhancing web performance. Together, they explore the intricacies of the virtual DOM, React rendering processes, and the common pitfalls that developers face in managing performance. Aden introduces ReactScan, a tool designed to visualize and troubleshoot performance issues in React applications, making complex profiling accessible to a broader range of developers. The conversation also touches on broader performance metrics like Core Web Vitals and the challenges of maintaining efficiency across various devices and browsers. Whether you're a seasoned developer or new to React, this episode offers valuable insights into creating faster and more efficient web applications. Tune in to learn how you can improve your React project's performance and user experience with tools and techniques from top industry experts.Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

13 Feb 20251h 7min

TanStack: A Deep Dive into Server Functions and Routing with Tanner Linsley - JsJ 667

TanStack: A Deep Dive into Server Functions and Routing with Tanner Linsley - JsJ 667

In this episode of JavaScript Jabber, host Steve Edwards is joined by panelists Dan Shappir and AJ O'Neil, along with special guest Tanner Lindsley, to explore the innovative world of TanStack, a collection of open-source libraries designed to enhance web development. Tanner shares insights into the origins and evolution of TanStack, highlighting its journey from simple libraries like React Table to a comprehensive toolkit including TanStack Query, TanStack Virtual, and more. The discussion delves into the nuances of building framework-agnostic tools, the challenges of server-side rendering, and the rise of remote procedure calls (RPCs) as a modern development approach. With intriguing debates on the future of meta frameworks and the role of server components, this episode provides a deep dive into the cutting-edge technologies shaping the development landscape. Whether you're a fan of React, Solid, or just curious about the direction of web frameworks, this conversation offers valuable insights and expert opinions on the current and future state of web development. Tune in to discover how TanStack is influencing the way we build and manage applications in the ever-evolving JavaScript ecosystem.Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

6 Feb 20251h 29min

What's New in JavaScript: Latest Language Updates and Features - JSJ 666

What's New in JavaScript: Latest Language Updates and Features - JSJ 666

Hey, everyone. Welcome back to another exciting episode of JavaScript Jabber, part of the Top End Devs Network. I'm your host, Charles Max Wood, joined by our amazing panelist, Dan Shappir. In this episode, we dive into the latest developments in the world of JavaScript as we kick off a new year. You might recall we covered this topic about a year and a half ago in episode 590.  Today, we're revisiting the updates to see what's progressed and what's newly introduced in the JavaScript standard.Dan Shappir offers his expertise as we explore features that have recently been added to the language. From promise.allSettled, a feature that's been around for about five years but often underutilized, to array method enhancements like .at and Object.hasOwn, there's a ton to unpack. We'll also delve into exciting new library additions like findLast for arrays, efficient array copying methods and improvements in set operations that make JavaScript more powerful and developer-friendly than ever.The episode isn't just about the features that have already landed; we'll also touch on what's in the pipeline with proposals in various stages of development, including exciting concepts like temporal for better date and time handling. Whether you're a JavaScript pro or just keen to stay updated on the latest trends, this discussion is packed with insights to level up your coding game.So, grab your headphones, stay tuned, and let's explore the exciting world of new JavaScript features together!Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

22 Jan 20251h 26min

Reflections on Technology Trends, AI Impact, and Memorable Episodes - JSJ 665

Reflections on Technology Trends, AI Impact, and Memorable Episodes - JSJ 665

Welcome to another riveting episode of Top End Devs! In today's "Year in Review" special, hosts Charles, AJ, Dan, and Steve Edwards take you on a retrospective journey through their most memorable moments and thought-provoking discussions of the year. From the amusing and insightful exchanges with influential guests like Rich Harris and Kyle Simpson to their deep dives into emerging tech trends like Svelte 5 and AI integration in development, this episode has it all.They also explore Charles's experience transitioning from a Mac to a high-performance System76 machine, Dan's favorite and least favorite tech trends, and AJ's admiration for profitable and customer-focused approaches in the industry. Expect a blend of technical expertise, humor with those beloved dad jokes, and personal reflections that make this podcast uniquely engaging.So, get ready as we reflect on the year's highlights, laugh at the dad jokes that have become fan favorites, and look forward to exciting developments in the tech world with your favorite panelists.PicksAJ - 100 Days of Rejection (Therapy)AJ - https://www.youtube.com/playlist?list=PLamouX6QxWIuTHuaArIOzdorWoYaF6cU5AJ - John Sonmez: Eye Contact & SmirkingAJ - John Sonmez: How to Become a ManAJ - EvalPlus LeaderboardAJ - OllamaCharles -HeatCharles - Heat: Pedal to the MetalCharles - Hit Refresh by Satya NadellaCharles -  American Icon by Bryce HoffmanCharles - System76Charles - Wizard's First Rule (Sword of Truth, Book 1) (Sword of Truth, 1)Dan - A Man on the Inside (TV Series 2024Dan - The Best Syria Breakdown You'll Ever Hear - Thomas SmallDan - Master of the Five MagicsBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

7 Jan 20252h 5min

Innovation and Framework Adoption - JSJ 664

Innovation and Framework Adoption - JSJ 664

In this episode, Charles, AJ, and Dan explore the intricacies of team dynamics, technological choices, and the challenges of web development with our distinguished panel. Joining them is a very special guest, the legendary Uncle Bob Martin. They delve into team collaboration and decision-making, with Uncle Bob emphasizing the importance of reasonable debates and team buy-in when it comes to mental models and project directives. Dan discusses how, in startups, the initial developer often ends up making key decisions.They also touch on technological choices, including the complications of inheriting decisions from previous team members and the ever-topical debate on relational databases influenced by marketing pressures. Uncle Bob shares his seasoned insights into React Framework inconsistencies and the philosophy behind state-driven design.They tackle the separation of business logic from frameworks to maintain purity and independence in code. There's also a lively discussion about starting with functional prototypes, and the influence of Apple’s focus on UI on their success.Additionally, they explore Uncle Bob’s controversial stance on web frameworks, the dynamics of framework adoption, and the role of technical decisions in hiring. There are fascinating comparisons between framework popularity and historical tech stories, including the evolution of Apple’s innovations and the contributions from Xerox PARC.Finally, as they wrap up, they have insightful pick recommendations from the panelists, covering everything from the NBA season and engaging TV series to board games and book recommendations—a little something for everyone.Join them for an enlightening journey through the nuances of modern development practices, historical tech anecdotes, and personal insights from some of the industry's top minds. This episode promises to be a treasure trove of knowledge and experience for any developer. Let's get started!SocialsLinkedIn: Robert MartinPicksAJ - How to Start a Startup - A course Y Combinator taught at StanfordCharles - MLEM: Space Agency | Board GameDan - NBA SeasonDan - The Day of the Jackal (TV Series 2024Uncle Bob - 'The Cloud Fugitive' | David Heinemeier Hansson | NTK # 001Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

31 Dec 20241h 45min

Revolutionizing API Syntax and Schema Management with Jazz Framework - JSJ 663

Revolutionizing API Syntax and Schema Management with Jazz Framework - JSJ 663

In today's episode, Charles and AJ are joined by Anselm Eickhoff, a trailblazing full-stack software engineer. Anselm delves into the world of "Local First" software development and the innovative tool he’s developed, "Jazz." They explore how Jazz leverages schema information for type inference and runtime validation, enabling real-time collaboration and seamless offline functionality. They dive into the simplifications brought by Jazz's API changes, the flexibility offered through open protocols, and the local-first approach using CRDTs.They also tackle Jazz’s impressive backend infrastructure and its shift to direct disk storage, along with insights into the challenges and emerging support structures faced by early adopters. Anselm shares real-world applications, advanced analytics capabilities, and the future outlook for Jazz, emphasizing performance, resilience, and data privacy.Plus, stay tuned for a lighthearted detour into board games and TV recommendations, as well as updates on Charles’ AI Dev Boot Camp and exciting developments on the Top End Devs platform. This episode is packed with cutting-edge insights and practical advice for developers looking to integrate advanced real-time features and streamline their app development processes. SocialsLinkedIn: Anselm EickhoffPicksAJ - Dune 2-Film Collection (Blu-Ray + Digital)Charles - Imperial Miners | Board GameBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

24 Dec 20241h 25min

Painting Roses, Eating Marshmallows and Network Protocols - JSJ 662

Painting Roses, Eating Marshmallows and Network Protocols - JSJ 662

Welcome to another insightful episode of the JavaScript Jabber podcast, hosted by Charles alongside our expert panelists Dan and AJ. Today, they are thrilled to be joined by Avishai Ish-Shalom a seasoned technologist with an eye for challenging conventions in the tech world. In this episode, Avishai takes us through fascinating discussions comparing industrial food products to technological abstractions, including his unique perspective on the “marshmallow effect” and the evolving complexities of virtualization.They delve into the challenges of backward compatibility in modern tech, using real-world parallels like AWS virtual storage options, and discuss the impact of technologies like Docker and cloud services on our understanding of underlying infrastructures. Charles shares his upgrade journey from an aging Mac laptop to a powerful System76 desktop for AI tasks, reflecting the changing demands on development environments.Listen in as they explore the nuances of binary vs. textual protocols, the importance of future-proofing legacy systems, and Avishai's compelling arguments in his articles "Don't Paint the Roses" and "The Marshmallow Effect." Plus, they discuss Avishai's career evolution and the intellectual challenges faced by today’s engineers in the rapidly advancing tech landscape. Whether you’re a casual listener or a tech enthusiast, this episode promises to offer valuable insights and thought-provoking discussions. Stay tuned!SocialsLinkedIn: Avishai Ish-ShalomPicksAJ - Deku Deals Avishai - marimo | a next-generation Python notebookCharles - Challengers! Beach Cup | Board GameDan - The Penguin (TV Mini Series 2024)Dan - BlueskyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

17 Dec 20241h 33min

Structuring Node.js Applications Part 2: Dependency Management, Package Managers, Proper API Usage, etc.- JSJ 661

Structuring Node.js Applications Part 2: Dependency Management, Package Managers, Proper API Usage, etc.- JSJ 661

This is the second part of the deep dive into the essential practices and principles for successful Node.js development. Our esteemed guests, Michael Dawson, James Snell, Matteo Collina, and Natalia Venditto, bring their extensive expertise to the table, discussing key topics like how to manage dependencies in a Node.js project.SocialsLinkedIn: James SnellLinkedIn: Michael DawsonLinkedIn: Matteo CollinaLinkedIn: Natalia VendittoPicksCharles - Gnome Hollow | Board GameCharles - Reacher (TV Series 2022Michael - MakerWorld: Download Free 3D Printing Models Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

11 Dec 20241h 22min

Populärt inom Business & ekonomi

framgangspodden
badfluence
varvet
rss-jossan-nina
bathina-en-podcast
dynastin
uppgang-och-fall
avanzapodden
rikatillsammans-om-privatekonomi-rikedom-i-livet
rss-borsens-finest
fill-or-kill
rss-placerapodden
svd-tech-brief
rss-svart-marknad
kapitalet-en-podd-om-ekonomi
rss-inga-dumma-fragor-om-pengar
rss-veckans-trade
tabberaset
ekonomiekot-extra
rss-borslunch