# Boilerplate

Published articles for Boilerplate.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori

DevFeed: [Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori](<https://devfeed.tech/articles/consuming-skie-flows-in-swiftui-gustavo-fao-valvassori-38317.md>)

Original publisher: [Read original article](<https://touchlab.co/skie-swiftui>)

Published: 2026-08-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [community](<https://devfeed.tech/tags/community.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [interop](<https://devfeed.tech/tags/interop.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [skie](<https://devfeed.tech/tags/skie.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This tutorial explains how to consume Kotlin Flows in SwiftUI using SKIE. It covers enabling SKIE extensions in Gradle and collecting StateFlow values through an async collect approach, a modifier, or a view wrapper to reduce repetitive UI-layer code.

### Source excerpt

SKIE already makes the interop between Kotlin and Swift smooth, but SwiftUI adds a layer of complexity. We've included a series of extensions in SKIE to enable easy KMP usage from SwiftUI

## Build a directory listing website with Next.js, Supabase, and Stripe

DevFeed: [Build a directory listing website with Next.js, Supabase, and Stripe](<https://devfeed.tech/articles/build-a-directory-listing-website-that-earns-online-39121.md>)

Original publisher: [Read original article](<https://ihatereading.in/t/build-a-directory-listing-website-that-earns-online>)

Author: iHateReading

Published: 2026-07-10T05:43:02Z

Content type: tutorial

Language: en

Sources: [iHateReading](<https://devfeed.tech/sources/ihatereading.md>)

Topics: [Next.js](<https://devfeed.tech/topics/next-js.md>), [stripe](<https://devfeed.tech/topics/stripe.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [build-a-directory-listing-website-that-earns-online](<https://devfeed.tech/tags/build-a-directory-listing-website-that-earns-online.md>), [building](<https://devfeed.tech/tags/building.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [directory](<https://devfeed.tech/tags/directory.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [ihatereading](<https://devfeed.tech/tags/ihatereading.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [nextjs](<https://devfeed.tech/tags/nextjs.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [product](<https://devfeed.tech/tags/product.md>), [programming](<https://devfeed.tech/tags/programming.md>), [react](<https://devfeed.tech/tags/react.md>), [starterkit](<https://devfeed.tech/tags/starterkit.md>), [stripe](<https://devfeed.tech/tags/stripe.md>), [tools](<https://devfeed.tech/tags/tools.md>), [tools-directory-boilerplate-starterkit](<https://devfeed.tech/tags/tools-directory-boilerplate-starterkit.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A starter kit for building a directory listing website with Next.js, Supabase, and Stripe.

### Source excerpt

A starter kit to quickly make your own directory listing website using Nextjs, Supabase and Stripe

## How AI-Assisted Development Uses Reviewed Design Documents and Extensive Testing

DevFeed: [How AI-Assisted Development Uses Reviewed Design Documents and Extensive Testing](<https://devfeed.tech/articles/i-stopped-writing-code-and-started-doing-this-32369.md>)

Original publisher: [Read original article](<https://brianjenney.substack.com/p/i-stopped-writing-code-and-started>)

Author: Brian Jenney

Published: 2026-05-30T17:42:50Z

Content type: article

Language: en

Sources: [Brian Jenney](<https://devfeed.tech/sources/brian-jenney.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Code](<https://devfeed.tech/topics/code.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [GitHub API](<https://devfeed.tech/topics/github-api.md>), [Figma](<https://devfeed.tech/topics/figma.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [code](<https://devfeed.tech/tags/code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [figma](<https://devfeed.tech/tags/figma.md>), [github](<https://devfeed.tech/tags/github.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [terraform](<https://devfeed.tech/tags/terraform.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The author describes an AI-assisted development workflow in which reviewed, versioned design documents provide context for coding agents. Agents handle implementation and testing boilerplate, while developers decide expected behavior and test coverage. The author connects this process with frequent deployments and confidence in changes.

### Source excerpt

AI writes basically all of my code now.

## I Built a SaaS Starter Kit, So You Don't Have to Waste 4 Weeks on Setup

DevFeed: [I Built a SaaS Starter Kit, So You Don't Have to Waste 4 Weeks on Setup](<https://devfeed.tech/articles/i-built-a-saas-starter-kit-so-you-don-t-have-to-waste-4-weeks-on-setup-39133.md>)

Original publisher: [Read original article](<https://ihatereading.in/t/i-built-a-saas-starter-kit-so-you-dont-have-to-waste-4-weeks-on-setup>)

Author: iHateReading

Published: 2026-04-13T16:30:38Z

Content type: article

Language: en

Sources: [iHateReading](<https://devfeed.tech/sources/ihatereading.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [auth](<https://devfeed.tech/tags/auth.md>), [backend](<https://devfeed.tech/tags/backend.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [buildsaas](<https://devfeed.tech/tags/buildsaas.md>), [buildsaas-starterkit-boilerplate-saas](<https://devfeed.tech/tags/buildsaas-starterkit-boilerplate-saas.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [i-built-a-saas-starter-kit](<https://devfeed.tech/tags/i-built-a-saas-starter-kit.md>), [ihatereading](<https://devfeed.tech/tags/ihatereading.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [payments](<https://devfeed.tech/tags/payments.md>), [product](<https://devfeed.tech/tags/product.md>), [programming](<https://devfeed.tech/tags/programming.md>), [react](<https://devfeed.tech/tags/react.md>), [saas](<https://devfeed.tech/tags/saas.md>), [setup](<https://devfeed.tech/tags/setup.md>), [so-you-dont-have-to-waste-4-weeks-on-setup](<https://devfeed.tech/tags/so-you-dont-have-to-waste-4-weeks-on-setup.md>), [starterkit](<https://devfeed.tech/tags/starterkit.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

The article presents BuildSAAS as a SaaS starter kit covering setup areas such as authentication, payments, and email.

### Source excerpt

Every SaaS founder wastes the first month on auth, payments, and emails. BuildSAAS skips all of that.

## Angular Signal Forms: Creating Forms, Binding Fields, and Validation

DevFeed: [Angular Signal Forms: Creating Forms, Binding Fields, and Validation](<https://devfeed.tech/articles/signal-forms-37470.md>)

Original publisher: [Read original article](<https://www.angularspace.com/signal-forms/>)

Author: Duncan Faulkner

Published: 2026-01-19T12:39:14Z

Content type: tutorial

Language: en

Sources: [Daniel Glejzner](<https://devfeed.tech/sources/daniel-glejzner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [angular material](<https://devfeed.tech/topics/angular-material.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [angular-material](<https://devfeed.tech/tags/angular-material.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [forms](<https://devfeed.tech/tags/forms.md>), [reactive-forms](<https://devfeed.tech/tags/reactive-forms.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

This tutorial introduces Angular Signal Forms, an experimental API intended for non-production applications. It explains how to create forms from a model, bind fields to inputs, simplify custom controls, and apply validation, while noting that the API may change.

### Source excerpt

Experimental - This is intended for use in non-production applications, as the API can change (without notice) as it did with 21.0.0-next.8 where Control was renamed to Field. Signal Forms is one of the most talked-about features to be added to the Angular framework, and

## Mix Compose Multiplatform with native iOS UI using Compose Swift Bridge - Gabriel Souza

DevFeed: [Mix Compose Multiplatform with native iOS UI using Compose Swift Bridge - Gabriel Souza](<https://devfeed.tech/articles/mix-compose-multiplatform-with-native-ios-ui-using-compose-swift-bridge-gabriel-souza-38184.md>)

Original publisher: [Read original article](<https://touchlab.co/compose-swift-bridge-launch>)

Published: 2024-11-06T00:00:00Z

Content type: release

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [interop](<https://devfeed.tech/tags/interop.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

Compose Swift Bridge is an experimental tool for Compose Multiplatform that automates integration between Compose UI and native iOS SwiftUI views. It generates Kotlin and Swift code from expected composable functions and supports state management through SKIE's Sub Plugin API.

### Source excerpt

Compose Multiplatform has a critical unique feature. On iOS, you can mix Compose UI with native iOS UI. This is all enabled by the direct interop of Kotlin Multiplatform. That capability is amazing for mobile development. However, the actual process of wiring these two requires a fair bit of boilerplate. We've launch Compose Swift Bridge to automate that.

## Kotlin 1.9.20: Streamlining Source Sets in Multiplatform Project - Jigar Brahmbhatt

DevFeed: [Kotlin 1.9.20: Streamlining Source Sets in Multiplatform Project - Jigar Brahmbhatt](<https://devfeed.tech/articles/kotlin-1-9-20-streamlining-source-sets-in-multiplatform-project-jigar-brahmbhatt-38259.md>)

Original publisher: [Read original article](<https://touchlab.co/kotlin-1-9-20-source-set-enhancements>)

Published: 2024-02-01T00:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [gradle-plugin](<https://devfeed.tech/topics/gradle-plugin.md>), [code-completion](<https://devfeed.tech/topics/code-completion.md>), [Code](<https://devfeed.tech/topics/code.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [code-completion](<https://devfeed.tech/tags/code-completion.md>), [development](<https://devfeed.tech/tags/development.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [new-features](<https://devfeed.tech/tags/new-features.md>)

### AI overview

This article explains how Kotlin 1.9.20 improves Kotlin Multiplatform source set configuration. It covers the default source set hierarchy template, simplified iOS target setup, custom source sets, manual template application, and enhanced IDE code completion.

### Source excerpt

Explore how Kotlin 1.9.20's new features significantly enhance the experience of setting up target source sets

## MLIR -- Using Tablegen for Passes

DevFeed: [MLIR -- Using Tablegen for Passes](<https://devfeed.tech/articles/mlir-using-tablegen-for-passes-40469.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2023/08/10/mlir-using-tablegen-for-passes/>)

Published: 2023-08-10T14:41:45Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Code generation](<https://devfeed.tech/topics/code-generation.md>), [Code](<https://devfeed.tech/topics/code.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [define](<https://devfeed.tech/tags/define.md>), [endif](<https://devfeed.tech/tags/endif.md>), [fhe](<https://devfeed.tech/tags/fhe.md>), [ifdef](<https://devfeed.tech/tags/ifdef.md>), [include](<https://devfeed.tech/tags/include.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [mlir](<https://devfeed.tech/tags/mlir.md>), [programming](<https://devfeed.tech/tags/programming.md>), [tablegen](<https://devfeed.tech/tags/tablegen.md>), [undef](<https://devfeed.tech/tags/undef.md>)

### AI overview

This article explains how MLIR developers can use TableGen to define passes and generate boilerplate code, headers, documentation, and registration hooks. It also discusses the need to understand the generated C++ code and the tool's limited diagnostic information.

### Source excerpt

Table of Contents In the last article in this series, we defined some custom lowering passes that modified an MLIR program. Notably, we accomplished that by implementing the required interfaces of the MLIR API directly. This is not the way that most MLIR developers work. Instead, they use a code generation tool called tablegen to generate boilerplate for them, and then only add the implementation methods that are custom to their work.

## Consuming flows safely in Jetpack Compose

DevFeed: [Consuming flows safely in Jetpack Compose](<https://devfeed.tech/articles/consuming-flows-safely-in-jetpack-compose-35672.md>)

Original publisher: [Read original article](<https://manuelvivo.dev/consuming-flows-compose>)

Author: Manuel Vivo

Published: 2022-08-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Manuel Vivo .dev](<https://devfeed.tech/sources/manuel-vivo-dev.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [API](<https://devfeed.tech/topics/api.md>), [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>), [function](<https://devfeed.tech/topics/function.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [now-in-android](<https://devfeed.tech/topics/now-in-android.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [compose](<https://devfeed.tech/tags/compose.md>), [flow](<https://devfeed.tech/tags/flow.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [now-in-android](<https://devfeed.tech/tags/now-in-android.md>), [stateflow](<https://devfeed.tech/tags/stateflow.md>), [ui](<https://devfeed.tech/tags/ui.md>), [viewmodel](<https://devfeed.tech/tags/viewmodel.md>)

### AI overview

This tutorial explains how to use collectAsStateWithLifecycle in Jetpack Compose to collect Flow and StateFlow values from UI code in a lifecycle-aware way. It describes how collection follows the app lifecycle, stops by default when the app is in the background, and helps avoid unnecessary resource usage. The API is identified as alpha and requires opting in to its annotation.

### Source excerpt

Use the collectAsStateWithLifecycle API to collect flows in a lifecycle-aware manner from your UI.

## Keen: a minimal npm package boilerplate using TypeScript and esbuild

DevFeed: [Keen: a minimal npm package boilerplate using TypeScript and esbuild](<https://devfeed.tech/articles/introducing-keen-37291.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/introducing-keen-npm-package-boilerplate/>)

Author: Stanko

Published: 2022-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [npm packages](<https://devfeed.tech/topics/npm-packages.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [npm-packages](<https://devfeed.tech/tags/npm-packages.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Keen is a minimal, opinionated npm package boilerplate that uses esbuild and TypeScript to provide local development, a demo page, ESM and CommonJS builds, and type definitions with two dependencies.

### Source excerpt

As someone who maintains a couple of npm packages, I got frustrated by all of the notifications about security issues in my dev dependencies. In 99.99% I wasn't even using the vulnerable code, and usually it would be buried deep in the dependency tree. Therefore, I decided to revisit and simplify my workflow. These were the main things I wanted to have: Use TypeScript and generate type definitions Generate both ESM and CJS modules Reduce the number of dev dependencies Have an easy way to develop and deploy a demo page Less dependencies makes maintenance easier and code is less prone to the security issues. Keen # So without further ado I present you keen, my npm package boilerplate. It does all of the things mentioned above with only two dependencies, esbuild and typescript. These are all of the keen dependencies. esbuild handles local development and builds a demo page. TypeScript takes care of building ESM and CJS modules as well as type definitions. Disclaimer # Keen is minimal and opinionated on purpose, and it might not fit your workflow. If you want something more robust and don't mind having more dependencies, check tools like tsup or unbuild. ESM and CJS modules # It helps your users to have both types of modules available. The main blocker is that you can't use ESM packages in CJS. That's why I have two builds which are using different TypeScript configurations. Both config files extend tsconfig-base.json and they just define the appropriate module type and transpile target: { "extends": "./tsconfig-base.json", "compilerOptions": { "module": "ES2020", "outDir": "dist/esm", "target": "ES2015" } } Show tsconfig-esm.jsonHide tsconfig-esm.json { "extends": "./tsconfig-base.json", "compilerOptions": { "module": "commonjs", "outDir": "dist/cjs", "target": "ES2015" } } Show tsconfig-cjs.jsonHide tsconfig-cjs.json I won't go into more details, but there are a couple of other things I had to setup. The code I ended up using is heavily based on these two articles. If

## Fun with Compose: Bad UI in a Great Framework - Touchlab

DevFeed: [Fun with Compose: Bad UI in a Great Framework - Touchlab](<https://devfeed.tech/articles/fun-with-compose-bad-ui-in-a-great-framework-touchlab-38204.md>)

Original publisher: [Read original article](<https://touchlab.co/fun-with-compose-bad-ui-in-a-great-framework>)

Published: 2021-08-04T03:23:44Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [animations](<https://devfeed.tech/tags/animations.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [compose](<https://devfeed.tech/tags/compose.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [livedata](<https://devfeed.tech/tags/livedata.md>), [recomposition](<https://devfeed.tech/tags/recomposition.md>), [state](<https://devfeed.tech/tags/state.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

An exploration of Jetpack Compose that builds deliberately poor volume-control interfaces and reflects on the framework's development experience. The article highlights concise UI code, custom animations, reduced boilerplate, and lessons about state, mutation, and recomposition.

### Source excerpt

To celebrate Jetpack Compose finally hitting 1.0, I decided to bring back an old reddit trend of creating the absolute worst volume control UI possible.

## Starting a TypeScript Project in 2021

DevFeed: [Starting a TypeScript Project in 2021](<https://devfeed.tech/articles/starting-a-typescript-project-in-2021-31858.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2021/04/starting-a-typescript-project-in-2021/>)

Author: Chris Hager

Published: 2021-04-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>)

Tags: [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [browser](<https://devfeed.tech/tags/browser.md>), [es6](<https://devfeed.tech/tags/es6.md>), [esbuild](<https://devfeed.tech/tags/esbuild.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [project](<https://devfeed.tech/tags/project.md>), [setup](<https://devfeed.tech/tags/setup.md>), [template](<https://devfeed.tech/tags/template.md>), [testing](<https://devfeed.tech/tags/testing.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A practical guide to starting a TypeScript 4 project with modern tooling, covering project setup, esbuild bundling, linting, Jest testing, npm publishing, continuous integration, and automatic API documentation.

### Source excerpt

This is a guide for starting a TypeScript project in 2021 with modern tooling. TypeScript 4 Optionally esbuild to bundle for browsers (and Node.js) Linting with typescript-eslint (tslint is deprecated) Testing with Jest (and ts-jest) Publishing a package to npm Continuous integration (GitHub Actions / GitLab CI) Automatic API documentation with TypeDoc

## Starting a TypeScript Project in 2021

DevFeed: [Starting a TypeScript Project in 2021](<https://devfeed.tech/articles/starting-a-typescript-project-in-2021-31856.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2021/03/bootstrapping-a-typescript-node.js-project/>)

Author: Chris Hager

Published: 2021-03-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [browser](<https://devfeed.tech/tags/browser.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [es6](<https://devfeed.tech/tags/es6.md>), [esbuild](<https://devfeed.tech/tags/esbuild.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [github](<https://devfeed.tech/tags/github.md>), [gitlab-ci](<https://devfeed.tech/tags/gitlab-ci.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [project](<https://devfeed.tech/tags/project.md>), [setup](<https://devfeed.tech/tags/setup.md>), [template](<https://devfeed.tech/tags/template.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A practical guide to starting a TypeScript project with modern tooling, covering project setup, linting, Jest testing, esbuild bundling, npm publishing, continuous integration, and automatic API documentation.

### Source excerpt

Moved to /2021/04/starting-a-typescript-project-in-2021/

## Deprecating Marvin

DevFeed: [Deprecating Marvin](<https://devfeed.tech/articles/deprecating-marvin-37262.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/deprecating-marvin/>)

Author: Stanko

Published: 2020-09-16T00:00:00Z

Content type: opinion

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [React](<https://devfeed.tech/topics/react.md>), [repo](<https://devfeed.tech/topics/repo.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [react](<https://devfeed.tech/tags/react.md>), [repo](<https://devfeed.tech/tags/repo.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

The author announces the deprecation of Marvin, a React project boilerplate created for personal needs that later became an internal project and was used by thousands of people. The repository will remain available, but further improvements and maintenance will stop because the evolving React ecosystem made maintaining a single boilerplate unproductive.

### Source excerpt

It is funny, I would never say I would be sad to deprecate a software project. Especially a project boilerplate. But I just merged the deprecation notice, and I do feel down a little. I created Marvin about four years ago for my own needs. Since then it grew, became internal project at Work&CoFun fact, our website is made on top of Marvin. and was used by thousands of people. Why? # When Marvin was created React landscape was looking a lot different than today. The ecosystem continues to relentlessly evolve and maintaining a single boilerplate to capture all these possibilities has become unproductive. The repo will stay available, but we are stopping further improvements and maintenance. Thank you! # A big thank you to everyone who used and supported Marvin!

## 10 Reasons Why I Recommend Svelte To Every New Web Developer

DevFeed: [10 Reasons Why I Recommend Svelte To Every New Web Developer](<https://devfeed.tech/articles/10-reasons-why-i-recommend-svelte-to-every-new-web-developer-35044.md>)

Original publisher: [Read original article](<https://markushatvan.com/blog/10-reasons-why-i-recommend-svelte-to-every-new-web-developer/>)

Published: 2020-08-31T00:00:00Z

Content type: opinion

Language: en

Sources: [Markus Hatvan](<https://devfeed.tech/sources/markus-hatvan.md>)

Topics: [Svelte](<https://devfeed.tech/topics/svelte.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [svelte](<https://devfeed.tech/tags/svelte.md>)

### AI overview

An opinionated introduction to Svelte that recommends it to new web developers. The article contrasts Svelte with Angular, React, and Vue.js, emphasizing its compilation to framework-less vanilla JavaScript, reduced boilerplate, and reported advantages in bundle size, performance, lines of code, and developer satisfaction.

### Source excerpt

Although the initial release of Svelte was back in November 2016, it's still more of an underdog amongst the JavaScript front end frameworks and just recently started to get its well deserved attention by the community.

## EDR Bypass Methods: Blending In, Unhooking, and Direct Syscalls

DevFeed: [EDR Bypass Methods: Blending In, Unhooking, and Direct Syscalls](<https://devfeed.tech/articles/lets-create-an-edr-and-bypass-it-part-2-32630.md>)

Original publisher: [Read original article](<https://ethicalchaos.dev/2020/06/14/lets-create-an-edr-and-bypass-it-part-2/>)

Author: CCob

Published: 2020-06-14T10:47:09Z

Content type: tutorial

Language: en

Sources: [Ethical Chaos](<https://devfeed.tech/sources/ethical-chaos.md>)

Topics: [Endpoint Security & XDR](<https://devfeed.tech/topics/endpoint-security-xdr.md>), [Code](<https://devfeed.tech/topics/code.md>), [API](<https://devfeed.tech/topics/api.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [antivirus](<https://devfeed.tech/tags/antivirus.md>), [api](<https://devfeed.tech/tags/api.md>), [av](<https://devfeed.tech/tags/av.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [bypass](<https://devfeed.tech/tags/bypass.md>), [cobalt-strike](<https://devfeed.tech/tags/cobalt-strike.md>), [code](<https://devfeed.tech/tags/code.md>), [edr](<https://devfeed.tech/tags/edr.md>), [hooking](<https://devfeed.tech/tags/hooking.md>), [process](<https://devfeed.tech/tags/process.md>), [sharpblock](<https://devfeed.tech/tags/sharpblock.md>), [trampoline](<https://devfeed.tech/tags/trampoline.md>)

### AI overview

This tutorial examines methods for bypassing an active-protection EDR, including avoiding suspicious RWX memory changes, unhooking API calls, and using direct syscall instructions. It also introduces SharpBlock and accompanying code.

### Source excerpt

A 2 part series on creating a basic EDR detection system and then a bypass implementation. In part 2 I introduce SharpBlock, a method of bypassing EDR's. The post Lets Create An EDR... And Bypass It! Part 2 appeared first on Ethical Chaos.

## Decreasing Applitools Android Boilerplate with Kotlin and JUnit

DevFeed: [Decreasing Applitools Android Boilerplate with Kotlin and JUnit](<https://devfeed.tech/articles/decreasing-applitools-android-boilerplate-with-kotlin-and-junit-20360.md>)

Original publisher: [Read original article](<https://engineering.ziffmedia.com/decreasing-applitools-android-boilerplate-with-kotlin-and-junit-46c61b5e10ce?source=rss----d6bb34696ef5---4>)

Author: Ben Boral

Published: 2019-11-15T17:46:53Z

Content type: tutorial

Language: en

Sources: [RetailMeNot](<https://devfeed.tech/sources/retailmenot.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [applitools](<https://devfeed.tech/tags/applitools.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [code](<https://devfeed.tech/tags/code.md>), [espresso](<https://devfeed.tech/tags/espresso.md>), [junit](<https://devfeed.tech/tags/junit.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial shows how to reduce boilerplate in Applitools visual regression tests for Android by using Kotlin and JUnit. It describes encapsulating repeated setup and cleanup in a helper and JUnit rule so the test code is more concise and easier to maintain.

### Source excerpt

Background At RetailMeNot, we are excited by the promise of automating visual regression tests with Applitools. In this post, I'll show how to make writing Applitools tests for Android a cinch. We'll start with the official integration guide recommendations and then use JUnit and Kotlin features to make our tests concise and maintainable. This post assumes the reader is familiar with Applitools visual testing. Our Starting Point: lots of boilerplate code Applitools's official integration guide for Espresso recommends a test that looks approximately like the below code block. I'll explain each line of this snippet later in the article. But for now, notice the excessive setup code and cleanup code that's getting in the way of our actual test code. This boilerplate would need to be copied for every test. https://medium.com/media/c042e70c7b2c423afde35fc101bc6e31/hrefThe Solution: a much simpler test We can reduce the boilerplate to achieve the following test. By stripping away the setup and cleanup as much as possible, we are left with the kernel of the test. In doing so, the purpose of the test is much easier to comprehend. ApplitoolsHelper, on line 2, has encapsulated the setup and cleanup. This will make long-term maintenance easier, because when the Applitools APIs change, we'll only need to update them in the one location. https://medium.com/media/de1efe74c1f65542057b061fd3b4ad35/hrefThe Required Steps to Run an Applitools Test Before diving into the helper code that enables our concise test, let's review the steps involved in an Applitools visual test: val eyes = Eyes() eyes.apiKey = "YOUR_API_KEY" eyes.appName = "YOUR_APP_NAME" We must initialize the Applitools SDK and set our API key and app name. This is going to be the same for every test in our suite. We will extract this code into a JUnit test rule. eyes.open("TEST_NAME"); This starts the Applitools test session. This must be called with a unique test name for each test. We will use a lambda expression, expl

## Dynamic mobile client development. Problem and concept.

DevFeed: [Dynamic mobile client development. Problem and concept.](<https://devfeed.tech/articles/dynamic-mobile-client-development-problem-and-concept-38607.md>)

Original publisher: [Read original article](<https://krossovochkin.com/posts/2018_07_21_dynamic_mobile_client_development_problem_and_concept/>)

Published: 2018-07-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Vasya Drobushkov](<https://devfeed.tech/sources/vasya-drobushkov.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [interface](<https://devfeed.tech/topics/interface.md>), [Development](<https://devfeed.tech/topics/development.md>), [client](<https://devfeed.tech/topics/client.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Maintainability](<https://devfeed.tech/topics/maintainability.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [development](<https://devfeed.tech/tags/development.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [server](<https://devfeed.tech/tags/server.md>)

### AI overview

This article examines a mobile client development problem: server data and interfaces can change faster than published mobile applications, creating compatibility challenges across application and server versions. It focuses on making interfaces between the presentation layer and views more flexible and extensible, using a profile screen and view model as an example.

### Source excerpt

Data and interfaces -- are two of the most important things in development. Data usually comes from/to server and tells application what should be used (and therefore shown to the user on UI) One of the main challenges in mobile development is to be in sync with server. Server is updated immediately (often along with web). Publishing to Play Store takes some time (even not talking about AppStore and their app review). Also users might try to use older versions of app with newer versions of web/server (not updating application when newer version was published). Even more difficult to handle compatibility issues when there might be multiple servers with different versions on them, and application has to be flexible to work with all of them.

## Marvin v1.0

DevFeed: [Marvin v1.0](<https://devfeed.tech/articles/marvin-v1-0-37310.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/marvin-v1/>)

Author: Stanko

Published: 2018-01-05T00:00:00Z

Content type: release

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [React](<https://devfeed.tech/topics/react.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [PostCSS](<https://devfeed.tech/topics/postcss.md>), [async](<https://devfeed.tech/topics/async.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [postcss](<https://devfeed.tech/tags/postcss.md>), [react](<https://devfeed.tech/tags/react.md>), [redux](<https://devfeed.tech/tags/redux.md>), [v1](<https://devfeed.tech/tags/v1.md>)

### AI overview

Marvin 1.0 is a universal React boilerplate release. The update replaces redux-thunk with redux-saga, adds server-side asynchronous data fetching with results stored in Redux for client reuse, and replaces Sass with PostCSS. The author describes the setup as opinionated and intended as a modifiable starting point.

### Source excerpt

Marvin just got better! Few days ago I've released version 1.0 of my universal React boilerplate.Also known as Marvin There are some big changes, and I'm pretty happy with it's current state. At least 20 applications were shipped using Marvin. It has about seven hundred stars on GitHub with quite a few community contributions. Big updates # Switch from redux-thunk to redux-saga. Sagas are bit more complicated but they make managing asynchronous actions easier. They are really powerful and something I usually go for. Thunks are good for smaller apps, but they tend to get messy as application grows. Straight from redux-saga docs: Contrary to redux thunk, you don't end up in callback hell, you can test your asynchronous flows easily and your actions stay pure. Universal async data fetching using sagas. This was one of the most requested features. Marvin now supports getting the async data on the server. Data is then saved to the redux store for client to reuse. Example is included, but I plan to write more detailed documentation on it. Switch from SASS to postcss. It is time to move on. SASS is awesome, but PostCSS caught up, and it is future proof. Plus, if you are using Autoprefixer you are already using it anyway. I could write whole article about it, but people already did it and you can read them here. It is opinionated # These changes and overall setup are very opinionated and crafted by our experience and needs. It is made to be starting point for us, and it might not be the best choice for you. Although, I personally think it is pretty easy to modify it to fit custom needs. If you use Marvin please leave a comment here or on the repo. Thanks!

## logzero - Simplified logging for Python 2 and 3

DevFeed: [logzero - Simplified logging for Python 2 and 3](<https://devfeed.tech/articles/logzero-simplified-logging-for-python-2-and-3-31848.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2017/06/logzero-simplified-logging-for-python-2-and-3/>)

Author: Chris Hager

Published: 2017-06-29T00:00:00Z

Content type: release

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Logging](<https://devfeed.tech/topics/logging.md>), [Python](<https://devfeed.tech/topics/python.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [file](<https://devfeed.tech/tags/file.md>), [logger](<https://devfeed.tech/tags/logger.md>), [logging](<https://devfeed.tech/tags/logging.md>), [python](<https://devfeed.tech/tags/python.md>), [python-dependencies](<https://devfeed.tech/tags/python-dependencies.md>)

### AI overview

The article announces logzero, a small Python package for simplified logging in Python 2 and 3. It describes console and file logging, formatting, encoding handling, multiple loggers, rotating log files, installation, and documentation.

### Source excerpt

I've just published logzero, a small Python package which simplifies logging with Python 2 and 3. It is easy to use and robust, and heavily inspired by the Tornado web framework. I've recently released python-boilerplate.com which included this module as a file, and people have been asking for it to be published as a standalone package. Finally I've found some time to do it, and here it is! https://logzero.readthedocs.io https://github.com/metachris/logzero logzero is a simple and effective logging module for Python 2 and 3:

## How to test Vue.js plugins and extensions

DevFeed: [How to test Vue.js plugins and extensions](<https://devfeed.tech/articles/how-to-test-vue-js-plugins-and-extensions-31847.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2017/05/how-to-test-vue.js-plugins-and-extensions/>)

Author: Chris Hager

Published: 2017-05-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Vue.js](<https://devfeed.tech/topics/vue.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Babel](<https://devfeed.tech/topics/babel.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [python](<https://devfeed.tech/tags/python.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial on testing Vue.js plugins and extensions with real Vue.js instances, state changes, transformation checks, and expected-error validation. It uses Jest examples and discusses linting and transpiling ES6 code to ES5 for compatibility.

### Source excerpt

This post shows how to write tests for Vue.js plugins and extensions by creating Vue.js instances, changing state and validating transformation and expected errors, to continuously verify that everything still works after updates, refactorings and merging contributions. While building python-boilerplate.com, I recently created a Vue.js plugin for syntax highlighting (vue-highlightjs), and wanted to add tests. For this I spent some time researching and testing how to properly test Vue.js plugins and extensions, and I wanted to summarize and share what I've learnt.

## Introducing Marvin

DevFeed: [Introducing Marvin](<https://devfeed.tech/articles/introducing-marvin-37292.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/introducing-marvin/>)

Author: Stanko

Published: 2017-05-25T00:00:00Z

Content type: release

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [React](<https://devfeed.tech/topics/react.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [contributions](<https://devfeed.tech/tags/contributions.md>), [development](<https://devfeed.tech/tags/development.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [react](<https://devfeed.tech/tags/react.md>), [redux](<https://devfeed.tech/tags/redux.md>)

### AI overview

The article announces Marvin, an open-source boilerplate for starting React/Redux applications. It originated as Work & Co's internal project and is intended to support React project development, with external contributions welcome.

### Source excerpt

I'm happy to announce Marvin, boilerplate for kicking off React/Redux applications. Basically my boilerplate became Work & Co's internal project. It is meant to be a starting point for our React projects. This way faster development is assured along with higher quality code. It is open source, and external contributions are welcome. Name comes from a fictional character Marvin, android from the The Hitchhiker's Guide to the Galaxy book as a homage to it's author Douglas Adams.

## React and Redux, Webpack 2 boilerplate

DevFeed: [React and Redux, Webpack 2 boilerplate](<https://devfeed.tech/articles/react-and-redux-webpack-2-boilerplate-37371.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/webpack-2-react-redux/>)

Author: Stanko

Published: 2016-11-24T00:00:00Z

Content type: article

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [React](<https://devfeed.tech/topics/react.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [React Router](<https://devfeed.tech/topics/react-router.md>), [Sass](<https://devfeed.tech/topics/sass.md>), [file](<https://devfeed.tech/topics/file.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [dev-tools](<https://devfeed.tech/tags/dev-tools.md>), [development](<https://devfeed.tech/tags/development.md>), [npm](<https://devfeed.tech/tags/npm.md>), [react](<https://devfeed.tech/tags/react.md>), [react-router](<https://devfeed.tech/tags/react-router.md>), [redux](<https://devfeed.tech/tags/redux.md>), [sass](<https://devfeed.tech/tags/sass.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

The article introduces a minimal React application boilerplate built with Redux and Webpack 2. It explains that the author extracted the boilerplate from a pet project after finding Webpack 1.x difficult to configure, and lists implemented, planned, and possible future features.

### Source excerpt

Currently, I'm working on a relatively small pet project. While setting it up, I decided to extract a webpack boilerplate from it. As whole JS community is moving really fast, I found very hard to set everything up using Webpack 1.x. One package would ask to update the other, that would break the third one, then that one... and so on. Luckily, I was able to set everything up using Webpack 2. It is still in beta, but I had no problems so far. You can find the boilerplate on GitHub. Implemented Features # React React router Redux Redux Thunk Immutable reducer data Webpack 2 (development and production config) Hot Module Replacement Babel - static props, decorators SASS with autoprefixing Webpack dashboard Linting Included es6-promise and isomorphic-fetch File imports relative to the app root Planned features # Redux Dev Tools Generating icon font from SVGs Preview production build Git hooks - lint before commit (or push) Future features # Universal may be added at some point. Universal rendering Server async data About # This boilerplate is a complete, but minimal React application. It includes reducers (redux), actions (sync and async), routing, SASS... My goal was to be ready immediately after cloning the repo (and running npm i). My plan is to reuse this as much as possible. It will updated so make sure you follow the documentation on GitHub.

## Setting Up a Bare-Bones JavaScript Web App with React, Webpack, and Scaffolding Tools

DevFeed: [Setting Up a Bare-Bones JavaScript Web App with React, Webpack, and Scaffolding Tools](<https://devfeed.tech/articles/how-to-set-up-a-modern-web-app-and-stay-sane-38420.md>)

Original publisher: [Read original article](<https://khmylov.com/2015/02/build-web-app-and-survive/>)

Author: Andrew Khmylov

Published: 2015-02-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Despite the odds](<https://devfeed.tech/sources/despite-the-odds.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [React](<https://devfeed.tech/topics/react.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>)

### AI overview

A practical guide to setting up a bare-bones JavaScript web app on Windows. It discusses using React for interactive interfaces, module systems and dependency management, webpack for bundling code and assets, and scaffolding tools such as Yeoman.

### Source excerpt

Long story short, I had to create a modern web app. Actually, it was an HTML page prototype for our new feature. Basic layout and a fairly complex JavaScript to check our design and interaction ideas. I've been doing a lot of web development during the last 2 years, but it was mostly about extending the existing long-running project. The opportunity to learn how to set up a completely new solution sounded too tempting too miss it. Side note: I was going to write a rant-like blogpost initially. However, the final text turned out to be more like a guide than a bunch of complaints. So you actually may think about it as a from-zero-to-infinity guide to setting up a bare-bones JavaScript web app and its accompanying infrastructure on Windows. Baby steps I start with a simple index.html. Since it's going to be mostly about interactive interfaces, and I don't want to spend that much time thinking about boilerplate markup and event handling, I'm going to build it with React.js. Even though the codebase is not going to be that huge, I probably also want a proper module system. OK, we've been using Require.js for quite a long time now, so it looks like a reasonable choice. Just put a <script> with the reference to the main JS file into index.html. Obviously, I don't want to download the libraries manually, so I'm going to pick Bower for dependency management. Ask the colleague whether I'm doing everything right, just in case. Maybe there is a better way, you know.. Well, actually, it turns out that the cool guys use webpack these days. All right, let's check it out. Webpack is an advanced module bundling system which takes your code modules and assets and bundles them together with 3rd party libraries, transforming them on the way (for example, from one language to another) and packing for the optimal performance. Sounds good. But don't rush to nail the getting start guide--the cool guys don't do that nowadays. Why write any bootstrapping code at all when you can reuse the boi

[Next page](<https://devfeed.tech/tags/boilerplate.md?cursor=WyIyMDE1LTAyLTE3VDAwOjAwOjAwKzAwOjAwIiwgImE0NmNiODEzLTFlNzQtNGYwZi1iZGQ2LTI3MDVjNGJlYmQ4MiJd>)