TLDR Web Dev

TLDR WEB DEV 2024-11-28

5 sections15 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

A FRAMEWORK FOR EVALUATING BROWSER SUPPORT

This blog post presents a framework for deciding whether to use new CSS features based on browser support. The framework considers three factors: the fallback experience if the feature isn't supported, the actual browser usage statistics for the specific audience (which may differ from global averages), and the potential harm caused by a broken experience for unsupported browsers. Devs can simulate unsupported browsers by temporarily removing the CSS declaration to assess the fallback and use `@supports` for custom fallbacks when necessary.

joshwcomeau.com18 min read

THE ANATOMY OF A REACT ISLAND

React Islands are used to incrementally modernize web applications by integrating React components into existing, statically rendered projects. This approach avoids the pitfalls of complete rewrites by allowing for a piecemeal transition. React Islands involve creating self-contained React components, declaring them in a separate build target, and then calling them from the main HTML, passing data via props and using a shared context for performance.

swizec.com8 min read

02OPINIONS & ADVICE

I LEARNED REACT NATIVE AS A WEB DEVELOPER, AND I GOT EVERYTHING WRONG

A web developer transitioning to React Native initially prioritized custom UI components, which resulted in apps that lacked the familiar and polished feel of native apps. They eventually switched to using native iOS and Android UI elements, pre-built components that offer a polished, platform-consistent experience.

fernandorojo.co5 min read

PYTHON DEPENDENCY MANAGEMENT IS A DUMPSTER FIRE

Python dependency management is difficult because there are too many tools and no standardized approach. The core problem stems from the need to manage both Python-specific packages and system-level dependencies, often requiring multiple tools and increasing the chance of conflicts. Good dependency management relies on version control, environment isolation (like virtual environments), and the use of definition and lock files for reproducibility.

nielscautaerts.xyz57 min read

SAFE VS. ALL-IN: THE TWO FACES OF ENGINEERING MANAGEMENT

The “Safe Engineering Manager” focuses on stability, harmony, and meeting expectations, while the “All-In Engineering Manager” pushes boundaries, challenges norms, and deeply invests in outcomes and people. These approaches often clash, as one values calm consistency and the other thrives on relentless passion and change.

zaidesanton.substack.com3 min read

03LAUNCHES & TOOLS

CALI

Cali is an open-source AI agent that uses a large language model to simplify React Native app development. It provides tools for build automation, device management, dependency management, and more.

github.comGitHub repository

ESLINT PLUGIN PERFECTIONIST

The ESLint plugin Perfectionist automatically sorts various code elements (imports, objects, types, etc.) alphabetically, naturally, or by line length.

github.comGitHub repository

INTRODUCING REACT NATIVE SCREENS 4.0.0

React Native Screens 4.0.0 introduces improved sheet API support on Android and iOS, preload support for native-stack screens, better iOS animations, support for React Navigation v7, and support for the new React Native versions.

blog.swmansion.com3 min read

04MISCELLANEOUS

DENO V. ORACLE: CANCELING THE JAVASCRIPT TRADEMARK

Deno has filed a petition with the USPTO to cancel Oracle's trademark on “JavaScript,” arguing that the term has become generic, Oracle misrepresented evidence during trademark renewal, and the trademark has been abandoned. If successful, this would remove legal barriers, allowing the community to freely use the term “JavaScript” without restrictions.

deno.com3 min read

BEHIND THE PLATFORM: THE JOURNEY TO CREATE THE LINKEDIN GENAI APPLICATION TECH STACK

LinkedIn's journey of building a GenAI application tech stack began in early 2023. It initially used a Java-based midtier but transitioned to a Python-based framework using LangChain for both offline development and online serving. Prompt management evolved from simple string interpolation to a standardized system using Jinja templates and a prompt source of truth.

linkedin.com17 min read