# GTKX > Write declarative JSX. GTKX renders it to GObject instances, powered by a native Rust core. ## Documentation - [Why GTKX](https://gtkx.dev/guide/why-gtkx.md) - [Getting Started](https://gtkx.dev/guide/getting-started.md) - [Configuration and Codegen](https://gtkx.dev/guide/configuration-and-codegen.md) - [Async Operations](https://gtkx.dev/guide/async-operations.md) - [Error Handling](https://gtkx.dev/guide/error-handling.md) - [Components](https://gtkx.dev/guide/components.md) - [Modals and Portals](https://gtkx.dev/guide/modals-and-portals.md) - [CSS](https://gtkx.dev/guide/css.md) - [OpenGL](https://gtkx.dev/guide/opengl.md) - [Testing](https://gtkx.dev/guide/testing.md) - [MCP](https://gtkx.dev/guide/mcp.md) - [Introduction](https://gtkx.dev/tutorial/index.md) - [Your First Window](https://gtkx.dev/tutorial/your-first-window.md) - [A List of Tasks](https://gtkx.dev/tutorial/a-list-of-tasks.md) - [The Task Store](https://gtkx.dev/tutorial/the-task-store.md) - [Interactive Rows](https://gtkx.dev/tutorial/completing-and-deleting.md) - [Saving to Disk](https://gtkx.dev/tutorial/saving-to-disk.md) - [Lists and the Sidebar](https://gtkx.dev/tutorial/lists-and-the-sidebar.md) - [Adaptive Layout](https://gtkx.dev/tutorial/an-adaptive-layout.md) - [Smart Views and Search](https://gtkx.dev/tutorial/smart-views-and-search.md) - [The Task Editor](https://gtkx.dev/tutorial/the-task-editor.md) - [Actions and Menus](https://gtkx.dev/tutorial/actions-menus-shortcuts.md) - [Trash and Toasts](https://gtkx.dev/tutorial/trash-and-toasts.md) - [Preferences and Theming](https://gtkx.dev/tutorial/preferences-and-theming.md) - [Drag to Reorder](https://gtkx.dev/tutorial/drag-to-reorder.md) - [Reminders](https://gtkx.dev/tutorial/reminders.md) - [Appendix A: Testing](https://gtkx.dev/tutorial/testing.md) - [Appendix B: Packaging](https://gtkx.dev/tutorial/packaging.md) - [Appendix C: Flatpak](https://gtkx.dev/tutorial/flatpak.md)