Skip to content

Migration Tools ​

This guide is coming soon. We're working on comprehensive migration tools and guides for adopting TachUI.

TachUI provides migration tools and strategies to help you adopt TachUI in existing projects or migrate from other frameworks.

Planned Content ​

This guide will cover:

  • React Migration - Moving from React to TachUI
  • Vue Migration - Transitioning from Vue.js to TachUI
  • Angular Migration - Converting Angular applications
  • Vanilla JS Migration - Upgrading from plain JavaScript
  • Gradual Adoption - Incremental TachUI integration
  • Automated Tools - CLI tools for code transformation
  • Best Practices - Migration strategies and patterns

Migration Strategies ​

typescript
// Start by wrapping existing components
import { TachUIWrapper } from '@tachui/migration'

function ExistingApp() {
  return (
    <div>
      <ExistingHeader />
      <TachUIWrapper>
        {/* New TachUI components */}
        <UserProfile />
        <TodoList />
      </TachUIWrapper>
      <ExistingFooter />
    </div>
  )
}

Component-by-Component Migration ​

typescript
// Before: React component
function UserCard({ user }) {
  const [expanded, setExpanded] = useState(false)
  
  return (
    <div className="user-card">
      <h3>{user.name}</h3>
      <button onClick={() => setExpanded(!expanded)}>
        {expanded ? 'Less' : 'More'}
      </button>
    </div>
  )
}

// After: TachUI component  
function UserCard({ user }) {
  const [expanded, setExpanded] = createSignal(false)
  
  return VStack({
    children: [
      Text(user.name).modifier.fontSize(18).fontWeight('600').build(),
      Button(
        () => expanded() ? 'Less' : 'More',
        () => setExpanded(!expanded())
      )
    ]
  })
  .modifier
  .padding(16)
  .backgroundColor('white')
  .cornerRadius(8)
  .build()
}

Current Status ​

🚧 In Development - Migration tools and comprehensive guides are being developed.

Available Migration Resources ​

  • Core Concepts - Understanding TachUI's architecture vs other frameworks
  • API Comparison Tables - Side-by-side comparisons (coming soon)
  • Code Examples - Real-world TachUI patterns

Planned Migration Tools ​

bash
# Automated migration CLI (planned)
tacho migrate react ./src/components
tacho migrate vue ./src/components  
tacho migrate angular ./src/app

# Analysis tools (planned)
tacho analyze --migration-report
tacho suggest --migration-strategy

Framework Comparisons ​

React to TachUI ​

ReactTachUI
useState()createSignal()
useMemo()createMemo()
useEffect()createEffect()
<div className="...">VStack().padding().background()
JSX syntaxFunction calls with modifiers

Vue to TachUI ​

VueTachUI
ref()createSignal()
computed()createMemo()
watchEffect()createEffect()
<template>Function composition
Single File ComponentsTypeScript functions

Angular to TachUI ​

AngularTachUI
signal()createSignal()
computed()createMemo()
effect()createEffect()
Component decoratorsFunction composition
Template syntaxModifier chaining

Migration Benefits ​

Performance Improvements ​

  • 100-1000x faster updates with fine-grained reactivity
  • Smaller bundle sizes with tree-shaking
  • No virtual DOM overhead for direct performance

Developer Experience ​

  • SwiftUI-familiar syntax for mobile developers
  • TypeScript-first design with excellent IntelliSense
  • Simpler mental model with direct DOM updates

Architecture Benefits ​

  • Predictable state flow with signals
  • Automatic dependency tracking
  • Memory-efficient cleanup with WeakMaps

Get Notified ​

Follow migration tool development:

Alternative Resources ​

While migration tools are in development:

Contributing ​

Help us build better migration tools:

  • Share your migration experience in GitHub Discussions
  • Request specific migration scenarios in GitHub Issues
  • Contribute migration examples via pull requests

Released under the MPL-2.0 License.