Package Exports
- fractal-core
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fractal-core) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
We believe in more than frameworks, we believe that minimalist and well crafted software will change the world. Lets build your ideas with elegance and simplicity with Fractal.
How it works?
- Fractal is minimal. Core logic is less than 700 lines of code and you can see how it works
- Excellent developer experience. We love to improve your experience
- We have hot-swapping
- We have TimeTravel debugging (soon)
- Excellent error / warn handling:
- Your app will never crash
- Application logs are meaningful. No more WTF?!! errors
- You can search for any error in our complete error index, a list of all possible errors can happen with their respective solution (soon)
- You can serialize the whole side effects, this means you can run Fractal in a Web Worker, in a server via websockets or even in a remote browser via WebRTC :')
- Gives you powerful patterns and composing tools that helps to build small and large apps
- A clear and flexible architecture that scales
- Easily integrable and embeddable by design
- High code quality, we love that!! and we helps you to achive it in your proyect ❤️
- Its clear and concise. All you application code are pure functions. Your app code has NO side effects
- We support hot-swapping code in production 🌹 (soon)
- Your code is flexible, composable and reausable. Modularization as a foundation
- The state is isolated, this mean it is serializable and you can hot-swap code updating the UI without reload the navigator
- Blazingly fast because we use WebAssembly (Soon ... Work In Progress)
- Lazy loading of components (Example soon...)
See the design document. In order to be scalable, Fractal is implemented using Typescript
Getting started
The recomended way is using Webpack, please download the Fractal-quickstart repo, this gives you all things ready.
Or in nodejs, browserify, Webpack like environments:
npm i --save fractal-core
Or see our tutorial and the examples.
Run the examples
There are many useful examples at examples folder. Be sure that you have installed Node.js, please download Fractal source and extract them.
The examples you can run are:
- simple
- compose
- mori: Fractal using mori.js for persistent data structures (PDS)
- testForm
- dynamicList
- complexList
- worker: Fractal running in a worker! :D (refactor in progress, broken until next relase)
Open a command window into Fractal
folder and run:
npm i
npm run dev ./src/examples/NAME_OF_EXAMPLE
for example:
npm run dev ./src/examples/complexList
Run tests
Our rule is to have 100% of coverage, right now all core features are covered
// once
npm test
// dev server
npm run test:watch
Design
Curious about how it works? see Design Documentation before reading source code :)
Development
See our Development Documentation