Kilian Schulte

Kilian Schulte

@schultek.dev

I maintain open source packages for Flutter and Dart, mainly Jaspr and dart_mappable. 💙🎯

419 followers276 following137 posts

Kilian Schulte reposted

Want a fun way to explore the new BlocSignal site? Come play Minesweeper built in pure Dart & Jaspr web components! 💣⚡ 0ms flood fill, state hydration & shared Flutter logic. Come for the game, stay for the info! 👇 blocsignal.dev/minesweeper #Flutter #DartLang

blocsignal.devBlocSignal — The Rigor of BLoC. The Flex & Speed of Signal.Enterprise-grade state management for Dart & Flutter with 0ms microtask latency, 100% docstring coverage, OpenTelemetry tracing, and universal ecosystem bridges.

A new Jaspr release is here. 🚀 🧠Agent Skills: Let your AI agent master Jaspr with up-to-date syntax and best practices. 🎨 Standalone CSS: Generate .css files from component styles. 🦺 Unsafe Imports: Detects unsafe platform-specific imports in server and client code.

The Flutter 2026 Roadmap is out. 💙 Happy to confirm that I will be collaborating more closely with the Flutter and Dart teams this year on Jaspr, Dart Web and more... 🔥

Awesome seeing this out now, great job by everyone involved! I had the pleasure of contributing a few bits to this, and happy to say that it is powered by Jaspr!

Flutter@flutter.dev

Introducing the new Dart and Flutter Getting Started experience 🩵📓 This learning pathway of new videos and tutorials walks you through setting up Flutter, the fundamentals of Dart, and building apps. Dart and Flutter beginners, this one's for you!

Kilian Schulte reposted

Replying to @kerberjg.bsky.social

We need to provide more use-cases, frameworks, and learning material for Dart without Flutter. We need less “Flutter Developers” and more “Dart Developers skilled in Flutter” But how do we get them started? What’s some other good Dart frameworks to start with?

I've been experimenting with using the new analyzer plugin API for code generation, and it's actually really cool! ⚡️ Instant code generation 🔬 Surgical updates in the same file 🔎 Report outdated/wrong code as lint warnings 🪄 Auto-regenerate outdated/wrong code via 'dart fix'

Is anyone still using stormberry? 🌪️🫐 I did some work on it this weekend out of random motivation. Result: A new release with 3 major features! 🚀 - Easy insert/update for many-to-many relations - Default column values - Programmatic database migrations API

Want your website footer to look as cool as the official dart.dev website? ✨ Add the new "Built with Jaspr" badge with only 1 line of code. Available as "JasprBadge.light()" and ".dark()" in the latest Jaspr release!

Kilian Schulte reposted

If you’re looking for production-ready alternatives: - Language: @dart.dev - Webapp UI: @flutter.dev - Reactive websites: Jaspr by @schultek.dev ( jaspr.site ) - Monorepo: Dart Workspaces & Melos ( melos.invertase.dev ) - Backend frameworks: @serverpod.dev & Dart Frog Repost to spread the word 🫶

fuck vercel, fuck Next.js, fuck Svelte, fuck Turborepo, fuck SWR, fuck SWC Posing with the architect of a genocide for sales leads is an insane and deeply immoral stance these projects cannot separate themselves from the CEO of the company who funds them

Only one week left until Fluttercon! I got some very cool Jaspr features lined up, so let's see how many I can pump out until then. 😁 I'll keep this thread updated. 🧵

View full thread

3️⃣ Component Scopes bsky.app/profile/schu...

Kilian Schulte@schultek.dev

🎯 Introducing Component Scopes for Jaspr! With the newest release, you get live in-editor hints on where a component is rendered (server, client or both) and whether it uses unsafe imports. This is solving one of the biggest pains when working with full-stack components 👇

🎯 Introducing Component Scopes for Jaspr! With the newest release, you get live in-editor hints on where a component is rendered (server, client or both) and whether it uses unsafe imports. This is solving one of the biggest pains when working with full-stack components 👇

When using server-side rendering or static site generation, components may be rendered in different environments (server vs client). Keeping track for each component is complex and tedious and can lead to unexpected behavior or even compilation errors due to wrong imports. 👇

Jaspr + Riverpod = 💙 jaspr_riverpod is not updated to use Riverpod 3, giving you access to all the latest features. Also, syncing providers is now even easier. Think "fullstack providers" that you compute on the server (e.g. load from db) and read on the client after pageload.

Only one week left until Fluttercon! I got some very cool Jaspr features lined up, so let's see how many I can pump out until then. 😁 I'll keep this thread updated. 🧵

2️⃣ Riverpod 3 and Fullstack Providers bsky.app/profile/schu...

Kilian Schulte@schultek.dev

Jaspr + Riverpod = 💙 jaspr_riverpod is not updated to use Riverpod 3, giving you access to all the latest features. Also, syncing providers is now even easier. Think "fullstack providers" that you compute on the server (e.g. load from db) and read on the client after pageload.

Jaspr + Riverpod = 💙 jaspr_riverpod is not updated to use Riverpod 3, giving you access to all the latest features. Also, syncing providers is now even easier. Think "fullstack providers" that you compute on the server (e.g. load from db) and read on the client after pageload.

Kilian Schulte reposted

Jaspr 0.21.0 is out! 🐾 It comes with: ✒️ Simpler and more Flutter-like syntax 🪄 Optimized performance and stability 🎨 More styling properties Oh, and all breaking changes can be migrated fully automatically. Check 🧵for details

Jaspr 0.21.0 is out! 🐾 It comes with: ✒️ Simpler and more Flutter-like syntax 🪄 Optimized performance and stability 🎨 More styling properties Oh, and all breaking changes can be migrated fully automatically. Check 🧵for details

Build methods now return a single Component (instead of an Iterable). This makes it even easier and more familiar to write Jaspr components. If you still want to return multiple children, use fragment(). Don't worry about migration. The new 'jaspr migrate' command will ->

I'm so happy how a seemingly simple change (changing Iterable<Component> to Component) has such a big impact: - easier and more familiar syntax - better language support - massively reduced internal complexity - better performance - easier to maintain and contribute

Kilian Schulte@schultek.dev

📣 I published a new Jaspr pre-release with big improvements! Writing Jaspr components is now even easier and more Flutter-like, the framework core is further optimized and more performant, and I added a 'jaspr migrate' command that automatically migrate all breaking changes. 👇

📣 I published a new Jaspr pre-release with big improvements! Writing Jaspr components is now even easier and more Flutter-like, the framework core is further optimized and more performant, and I added a 'jaspr migrate' command that automatically migrate all breaking changes. 👇

Jaspr has reached 1500 Stars ⭐️ and 500+ developers in the Discord community 💙 Thanks to everyone who supported Jaspr and myself on this journey! Cheers to an amazing future of Dart on the Web 🥂

🚀 Announcing "Jaspr Content"! 🚀 A new package for building CONTENT-DRIVEN SITES with MARKDOWN like documentation, blogs, or marketing pages. It comes with LOTS OF BUILT-IN STUFF like pre-made layouts, components, theming and more. Check thread for all the amazing features ->

View full thread

🖋️ Templating: Use a templating language like mustache or liquid to inject data into your content. 🗃️ Frontmatter: Parse frontmatter data from markdown files and use it in your components.

🚀 Announcing "Jaspr Content"! 🚀 A new package for building CONTENT-DRIVEN SITES with MARKDOWN like documentation, blogs, or marketing pages. It comes with LOTS OF BUILT-IN STUFF like pre-made layouts, components, theming and more. Check thread for all the amazing features ->

📖 Markdown Support: Load and parse markdown files from your filesystem or a remote source (e.g. from a Github repo). 📐 Layouts: Use pre-defined layouts like beautiful Documentation layout, the clean Blog layout, or create your own.

🎨 Theming: Use the built-in theming system to customize the look and feel of your site. With light and dark mode out of the box. 🧩 Components: Enhance your content with Jaspr components like <Info> or <Tabs>. Choose from the built-in components or add your own.

Just finished the documentation for the next big Jaspr release. 🙌 It ended up being >17.000 words added to the docs! So if thats not a hint that its gonna be BIG idk what is...