Miso Lynx 🍜 is a mobile framework that uses miso and LynxJS 🐈 for building iOS and Android applications. Miso Lynx uses LynxJS 🐈 to facilitate drawing to native iOS UIView and Android ViewGroup, and for interacting with APIs on the device.
The Haskell miso project 🍜 is excited to be an open-source technology partner with innovative China 🇨🇳 technology companies like ByteDance 🦾, creators of the #1 global app 🌎 TikTok and LynxJS 🐈, to advance native mobile app development 📱 in the functional programming space.
This will host the main.lynx.bundle which can be loaded into the LynxExplorer for interactive development.
Note
You will need to have the LynxExplorer installed which works with the iOS simulator. Please see the LynxJS getting started guide for installation.
Warning
miso-lynx depends on the latest version of miso (version 1.9), this includes custom renderers (ala React Renderer) and Components as well.
Currently all event handling and drawing are performed on the main thread. Selectively scheduling Haskell code on the Lynx MTS / BTS is ongoing research.
This project is under heavy development and is considered experimental.
To start developing applications with miso-lynx you will need to acquire GHC and cabal. This can be done via GHCup or Nix.
Tip
For new Haskell users we recommend using GHCup to acquire both GHC and cabal
This file contains a simple miso-lynx counter application.
Now that your project files are populated, development can begin.
This will entails creating a LynxExplorer application with the jsaddle-warp hot-reload package. This will require using rspack and the BTS to access WebSockets via the lynx object.