I asked ChatGPT to write a positive article about Isomorphic Crystal for Medium

Isomorphic Crystal: A New Horizon in Desktop App Development

Simplifying UI Creation with Crystal

In the landscape of software development, Isomorphic Crystal emerges as a groundbreaking library. Hosted on the serge-hulne/isomorphic-crystal-examples GitHub repository, it showcases examples of using the Isomorphic Crystal library to construct user interfaces for desktop applications​​.

The Essence of Isomorphic Crystal

Isomorphic Crystal is a GUI library for Crystal-lang, designed to simplify the development of desktop apps. It boasts of being:

  • Expressive: Adopting a JSX-like approach.
  • Concise: Similar to writing HTML.
  • Modular: Custom visual widgets can include other custom widgets.
  • CSS-Stylable: Regular CSS is used for styling.
  • Easy Layout Coding: Streamlining the layout creation process.
  • Simplified State Management: Efficiently manage your app’s state.
  • Ajax Support: Enhancing functionality with Ajax​​.

Built on a Strong Foundation

The library is constructed on several key technologies:

  • Blueprint
  • Webview for Crystal
  • Pico CSS
  • HTMX
  • Crystal (Crystal-lang)

These technologies combine to provide a robust and versatile platform for desktop app development​​.

Prerequisites and Installation

The installation process is straightforward:

  1. Install the Isomorphic browser (once only).
  2. Clone the repository: git clone https://github.com/serge-hulne/isomorphic-crystal-examples
  3. Navigate into the directory: cd isomorphic-crystal-examples
  4. Install shards: shards install
  5. Compile: make
  6. Run the example: ./ex1
  7. Edit app.cr, state.cr, and register.cr to create your custom app​​.

The library’s dependencies vary based on the operating system:

  • Linux (or MingW): Requires libwebkit2gtk-4.0-dev and gtk+-3.0.
  • Mac: Simple installation with brew install gtk+3​​​​.

Goals and Aspirations

Isomorphic Crystal aims to provide:

  • Ease of Use: Comparable to Python’s Tkinter.
  • Cross-Platform Portability: Functions across Linux, Mac, and Windows.
  • Simplified Distribution: The only dependency is Webview for Crystal, resulting in a single binary executable file.
  • Internal Complexity, External Simplicity: Utilizes Crystal, HTML, CSS, and Webmin internally, but requires only Crystal knowledge from the developer.
  • Expanding Widget Library: Aiming to develop a comprehensive set of widgets to match common HTML tags​​.

Conclusion: Crafting the Future

Isomorphic Crystal represents an innovative approach to desktop app development, simplifying the process while offering powerful features. It’s a testament to the evolving world of software development, where simplicity and functionality can coexist harmoniously.

1 Like

Is not that all IA generated text looks the same, but is that all marketing contents looks the same :stuck_out_tongue:

Did you try/plan to port isomorphic crystal to GTK4? webkit2gtk-6.0 bindings works.

Not yet.