JSJ 348: EnactJS with Ryan Duffy
JavaScript Jabber22 Tammi 2019

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.

Jaksot(735)

Crafting Code and Community: AI, LeetCode, and Meetups - JSJ 644

Crafting Code and Community: AI, LeetCode, and Meetups - JSJ 644

In this episode, they dive deep into the world of coding, meetups, and the evolving landscape of technical interviews. Join them as they explore the fascinating use of OpenAI's technology for coding assistance, the challenges of setting up impactful meetups, and the intricacies of mastering LeetCode problems.Our experts share invaluable insights—from leveraging AI tools like GPT to generate code effectively, to the essential strategies for problem-solving during high-pressure technical interviews. They also touch on the importance of deliberate practice, group support, and finding the right mindset for tackling coding challenges. Plus, hear personal stories about the benefits of taking breaks, the role of LeetCode in honing coding skills, and the shift in interview styles towards speed and pattern recognition.Sponsors Wix StudioSocialsAnatoliy D. ZaslavskiyLinksNYC LeetCode SquadPicksAJ - Yumi and the Nightmare Painter by Brandon SandersonAJ - The ChosenAJ - Beauty & The BeatAnatoliy - Authentic relatingAnatoliy - Neurodivergent Guide to the WorkplaceCharles - Challengers! | Board GameSteve - Myspace celebrates its 21st birthday. Do we still need it?Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

13 Elo 20241h 9min

Overcoming JavaScript Load Issues: Import Maps and Performance Enhancements - JSJ 643

Overcoming JavaScript Load Issues: Import Maps and Performance Enhancements - JSJ 643

In this episode, they dive deep into the intricate world of JavaScript loading and web performance. Join the panel with insightful discussions led by Dan, Charles, Steve, and special guest Yoav Weiss—an expert with extensive experience in web performance from his time at Google, Akamai, and Shopify.They explore the latest initiatives aimed at improving ES modules, import maps, and the challenges faced with script loading, especially when dealing with web workers. They uncover the critical role of sub-resource integrity, the successful integration of integrity support in Chrome and Safari, and the urgent need for advanced import map solutions for large applications.They also delve into the nuts and bolts of optimizing web performance, including the impact of script execution on browser responsiveness, bundling techniques, and innovative strategies for managing resource download priorities. Tune in to hear about the latest developments, engage with provocative questions, and discover ways you can contribute to the ongoing work of the W3C web performance working group. Plus, stay for heartfelt moments, personal anecdotes, and practical recommendations from the speakers.  SponsorsWix StudioSocialsLinkedIn: Yoav WeissPicksAJ - Jason Bourne 5-part TrilogyAJ - Crucial MX500 has dethroned SP as my pick for best value server SSDCharles - Imaginiff | Board GameCharles - A Quiet Place: Day One (2024)Steve - How Does OpenAI Survive?Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

8 Elo 20241h 35min

Personal Branding for Developers with Morad Stern - JSJ 642

Personal Branding for Developers with Morad Stern - JSJ 642

The JSJ panel talks with Morad Stern from Wix about personal branding; what it is, why it’s important for developers, and how to build it.LinksObama asks America to learn computer scienceConfiguring Apache Solr Multi-core With Drupal and Tomcat on Ubuntu 9.10PicksAJ - War Stories | How Crash Bandicoot Hacked The Original PlaystationAJ - Crash Bandicoot Co-Creator Andy Gavin: Extended Interview | Ars TechnicaAJ  - The Story of Spyro the Dragon | Gaming HistorianAJ  - Utah Node.js: Scaling Node.js at PlaidSteve  - Six13 Uptown Passover - an "Uptown Funk" adaptation for PesachDan  - Scott LynchMorad  - This Is Marketing: You Can't Be Seen Until You Learn to See: Seth GodinBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

30 Heinä 202451min

Making AI Accessible for Developers - JSJ 641

Making AI Accessible for Developers - JSJ 641

In this captivating episode, they dive deep into the world of AI, hands-on learning, and the evolving landscape of development with Steve Sewell from Builder.io. They explore the misconceptions about needing deep AI expertise to build AI products and highlight the importance of rapid iteration and practical experience. They discuss everything from the financial implications of AI, and strategies to manage cost and value, to the innovative tools like MicroAgent that are shaping the future of code generation and web design. Steve shares his insights on optimizing AI use in development, the rapid advancements in AI capabilities, and the critical role of integrating AI to enhance productivity without the fear of replacing jobs. Join them as they unravel the complexities of AI, its real-world applications, and how developers can leverage these powerful tools to stay ahead in a competitive market. Plus, stay tuned for personal updates, user interface innovations, and a glimpse into the future of AI-driven design processes at Builder.io.SocialsLinkedIn: Steve SewellPicksCharles - Mysterium | Board GameCharles - TrainingPeaks | Trusted By the World's BestSteve - Introducing Micro AgentSteve - BuilderIO/micro-agentBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

23 Heinä 20241h 25min

Framework Comparisons, Real User Metrics, and Effective Performance Tools - JSJ 640

Framework Comparisons, Real User Metrics, and Effective Performance Tools - JSJ 640

In today's episode, they dive deep into web performance optimization and the strategies employed by our expert panel to achieve it. Join Dan, Steve, Charles, and guest Vinicius Dallacqua as they explore robust techniques like code splitting, lazy loading, and server-side solutions to enhance website performance.In this episode, you'll hear Vinicius discuss his experiences with different benchmarking frameworks and innovative optimization strategies, including how he improved performance for the Prometheus client for Node. They delve into the importance of performance metrics, data analysis, and real user monitoring (RUM) tools. They underscore the need for precise measurements before and after optimizations and share insights on overcoming the challenges posed by third-party integrations.Hear about practical tools like Partytown and Lighthouse, and how companies like NEXX Insurance have achieved significant performance gains. The conversation also touches on the critical balance between backend performance, CDNs, and frontend optimizations, alongside recommendations for engaging management to prioritize performance enhancements.Plus, for a bit of fun, our episode includes some light-hearted "Dad jokes of the week" and book recommendations around TypeScript and AI. SocialsLinkedIn: Vinicius Dallacqua PicksCharles - Take 5 | Board GameDan - Total TypeScriptSteve - Warp: Your terminal, reimaginedVinicius - Watch Sweet Tooth | Netflix Official SiteBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

16 Heinä 20241h 19min

Adapting to Effect Cluster: JavaScript Developers' Guide to Enhancing Code Maintainability - JSJ 639

Adapting to Effect Cluster: JavaScript Developers' Guide to Enhancing Code Maintainability - JSJ 639

In today's episode, they dive deep into the world of JavaScript and TypeScript. They explore the innovative message-passing style between components using Effect Cluster, a game-changing alpha product that integrates seamlessly with solutions like Remix and React Server Components.Join them as Michael sheds light on the ease of transitioning TypeScript developers familiar with frameworks like React and Svelte to Effect, thanks to JavaScript’s component-based mindset and features similar to async/await. They also talk about the role of TypeScript and Effect in ensuring code maintainability and correctness amidst legacy JavaScript at Sisense.As they navigate through topics like performance optimization, multithreading in JavaScript, and backend development,  discover how the Effect framework simplifies testing, enhances type inference, and boosts code stability. Plus, they touch on coding challenges, error handling, and the importance of proper monitoring with tools like OpenTelemetry.But it's not all code! They share fun anecdotes from personal experiences with go karting, discuss the NBA draft, and even delve into some light-hearted humor with dad jokes and comedic analogies. This episode is packed with insights, laughter, and invaluable advice for developers and tech enthusiasts alike.Tune in now for a comprehensive discussion filled with expert knowledge, practical tips, and community insights, exclusively on Top End Devs!SocialsLinkedIn: Michael Arnaldi Twitter: @MichaelArnaldiPicksAJ - MSF Basic Rider CourseAJ - Alpine MotoSafe Wind Noise Ear PlugsDan - Pillar of Fire | Episode 1Dan - Pillar of Fire | Episode 2Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

9 Heinä 20241h 35min

Building and Distributing PWAs: Tools, Techniques, and Insights - JSJ 638

Building and Distributing PWAs: Tools, Techniques, and Insights - JSJ 638

In today's episode, they delve into the fascinating world of mobile web development with our esteemed guest, Maximiliano Firtman, a seasoned web developer from Buenos Aires, Argentina, who has over two decades of experience.Join them as Maximiliano takes you on a journey through the evolution of web and mobile development, starting from the early days of pure HTML and classic ASP, progressing through the milestones of Perl, PHP, and eventually into the realm of mobile technologies. He provides an insightful look at how mobile development has transitioned from early platforms like WML and BlackBerry to the modern era of Progressive Web Apps (PWAs).Together with Steve, they unpack the benefits and challenges of bringing the open web into the mobile space, discuss the impact of mobile performance on user experience, and explore various tools and best practices for developing efficient, fast-loading PWAs. From understanding the role of service workers and web manifests to exploring innovative APIs and caching methods, this episode is packed with invaluable knowledge for any developer aiming to enhance their mobile web development skills.Whether you're interested in optimizing web performance, getting hands-on with PWAs, or curious about the future of mobile app distribution, this episode has something for everyone. Tune in now to uncover actionable insights and expert advice on staying ahead in the ever-evolving landscape of mobile web development.SocialsLinkedIn: Maximiliano FirtmanFirt.DevPicksMaximilliano - llama-cliSteve - The ClubBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

2 Heinä 202437min

High-Performance Networking: Key Resources and Tools for Web Developers - JSJ 637

High-Performance Networking: Key Resources and Tools for Web Developers - JSJ 637

Robin Marx is a Web Protocol and Performance Expert at Akamai. They dive deep into the fascinating world of networking performance, where experts share invaluable resources and insights to optimize your web development projects. The speakers recommend essential tools and books like "High-Performance Browser Networking" by Ilya Grigorik and Barry Pollard's work on HTTP 2, and they dissect the nuances of modern web protocols such as HTTP 2 and HTTP 3. Special guest Robin Marx joins us to unveil the complexities of networking, emphasizing the importance of understanding how your server and browser interact to maximize efficiency.But it's not all technical; they also share some lighter moments. Discover TV shows like Netflix’s "Eric" and "Criminal Minds Evolutions," explore engaging articles from Big Think, and indulge in some geeky humor with a segment of dad jokes. Whether you're tuning in for professional insight or just some good old tech banter, this episode has something for everyone.SocialsLinkedIn: Robin MarxPicksCharles - Skyjo | Board GameCharles - Criminal MindsDan - Watch Eric | Netflix Official SiteRobin - We Are Legion (We Are Bob)Robin - HadesSteve - Is the Universe Finite or Infinite?Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

25 Kesä 20241h 22min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
ostan-asuntoja-podcast
hyva-paha-johtaminen
taloudellinen-mielenrauha
rss-lahtijat
sijoituskaverit
rss-rahamania
rss-huomisen-talous
rss-merja-mahkan-rahat
rss-sisalto-kuntoon
rss-lentopaivakirjat
rss-vaikuttavan-opettajan-vierella
rss-neuvottelija-sami-miettinen
kasvun-kipuja
rss-bisnesta-bebeja
rss-paasipodi