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 into 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?
- It is minimal, core logic are less than 500 lines of code and you can see how it works
- Excelent Developer Experience, we love to improve your experience
- We have hot-swaping
- We have TimeTravel debugging (soon)
- Excelent error / warn handling:
- your app will never crash
- Logs are meaningful
- You can search for any error in our complete error index, a list of all possible errors can happen (soon).
- Gives you powerful patterns and composing tools that helps to build small and large apps
- A clear and flexible architecture that scales
- Easy integrable and emmbedable by design
- High code quality, we love that!! and 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-swaping code in production 🌹 (soon)
- Your code are flexible, composable and reausable. Modularization as a foundation
- The state is isolated, this mean is serializable and you can hot-swap code updating the UI without reload the navigator
- You can serialize the whole side effects, this means you can run fractal in a webworker, in a server via websockets or even in a remote browser via WebRTC :')
- Lazy loading of components
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
See our basic 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/compose
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