Skip to content
This repository has been archived by the owner on Dec 26, 2022. It is now read-only.

Releases: RiadhAdrani/recursive

v0.8.0

17 Nov 19:55
Compare
Choose a tag to compare

v0.8.0

This release is testable and could be used in production for small and non-complex project.

This release marks the end of development of recursive using JavaScript, it will undergo a complete rewrite with TypeScript, for better code maintainability and expandability.

Change logs

  • moved platform specific code to a new package called recursive-web.
  • added unit testing with jest.
  • added multiple Readme files.
  • changed how dynamic routes work.
  • add setEffect().
  • changed how route declaration works.
  • changed the structure of the framework to be instance based.
  • added onPrepared() and beforePrepared() hooks.
  • added getAnchor().
  • added isWithinRoute().
  • added typing with *.d.ts files.
  • fixed various bugs...

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.

v0.7.0

27 Apr 03:26
Compare
Choose a tag to compare

v0.7.0

This release is testable and could be used in production for small and non-complex project

Recursive is now a front end Framework

Changelog:

  • Changed how styling work. inline and styleSheet are now merged into style.
  • Added checks making sure that the DOM and VDOM are identical at least in structure.
  • Fixed many bugs with the Router.

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.

v0.6.0

01 Feb 01:13
Compare
Choose a tag to compare

v0.6.0

This release is testable, but still not 100% production ready.

Changelog:

  • The library now uses RecursiveOrchestrator as the engine of the library.
  • The App lifecycle is now divided into steps managed by the orchestrator and no longer uses event-based updates:
    • Computed changes are now bundled together and executed in a single time.
    • Hooks are now bundled.
    • Component-Styles are now recursively collected.
  • Irresponsive updates are now detected and has their impact buffered on the App state.
  • Improved how errors are displayed, with the addition of giving possible reasons for recursive-generated errors.
  • updateAfter is no longer deprecated : it now bundles the changes made inside its callback and send an update-request to the RecursiveOrchestrator.
  • RecursiveEvents is now deprecated.
  • Introduced more feature to toy with regarding the setState method : It now return an array of 5 elements and have 4 parameters:
    • Parameters:
      • uid unique identifier, must be unique generally.
      • value initial value.
      • onInit executes after the state has been created, allow the user to fetch data asynchronously like fetching data or making an api call.
      • beforeDestroyed executed just before the removal of the state. Allow the user to make some cleaning like unsubscribing from services.
    • Returns :
      • value the value of the state at the current rendered state.
      • setValue is a function that change the value of the state and update the DOM.
      • preValue the previous value. initially, it is set to undefined.
      • exists is a function that returns if the state still exists or not.
      • live is a function that returns the live value of the state, could be used immediately after setValue and it will return the updated value.
  • States are now cleaned when they are out of context.

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.

v0.5.0

12 Jan 11:00
Compare
Choose a tag to compare

Recursive

v0.5.0

This release is testable, but still not 100% production ready.

Changelog:

  • We are at npm 👊
  • The library now has a node template project : create-recursive-app .
  • State objects are now used like the react useState with the obligation of giving each state a uid.
  • Added dynamic-route support.

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.

v0.4.0-alpha

02 Jan 13:47
f0f46ea
Compare
Choose a tag to compare

Project Recursive

v0.4.0

This release is testable, but still not production ready.

Changelog:

  • Removed multi-threading
  • Style handling is no longer the task of RecursiveDOM, RecursiveCSSOM will take care of computing styles.
  • RecursiveDOM is no longer exposed globally.
  • Decomposed the entry Recursive.js into multiple files :
    • Recursive.js contains a Render function and CreateComponent class.
    • Recursive-Components.js export all ready-made components.
    • Recursive-Router.js export createRouter, createRoute, renderRouter and goTo.
    • Recursive-State.js export setState, updateAfter methods.
    • Recursive-Style.js export setStyle method.

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.

v0.3.0-alpha

21 Dec 17:38
Compare
Choose a tag to compare

Project Recursive

v0.3.0

This release is testable, but still not production ready.

New features and Fixes

  • Performance improvement : The ability to use Web Workers
  • Router now works as intended

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.

v0.2.0-alpha

17 Dec 12:01
Compare
Choose a tag to compare

Project Recursive

v0.2.0

The second alpha version, another step closer to beta. The library has been refactored to be easier to load and debug.

This release is testable, but still not production ready.

New features

This release added:

  • Performance improvement.
  • Some CSS attributes and selectors

AbstractedComponent has been removed.

Bugs

Bugs still to be fixed:

  • Clicking the forward button will cause the RecursiveDOM to behave in a weird way.

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.

v0.1.0-alpha

09 Dec 19:55
Compare
Choose a tag to compare
v0.1.0-alpha Pre-release
Pre-release

Project Recursive

v0.1.0

Project Recursive offers a new way of creating web apps using a whooping 99.9% Javascript.
White you can still use other front-end technologies, the library offers many approaches to create beautiful UI.

Features

This release contains:

  • A working Virtual DOM called RecursiveDOM
  • The RecursiveDOM accepts components made by the CreateComponent class.
  • All HTML Elements are premade as components.
  • Styling can be approached from a multitude of methods : using a .css file, or even better using the staticStyle parameter in the RecursiveDOM. Each component could be styled using the inline style or the automated styleSheet.
  • Lifecycle methods or hooks are here too, for now we have: onCreated, onUpdated, beforeDestroyed and onDestroyed.
  • flags is a list of props that tell the RecursiveDOM how to display components, a very well known one is renderIf which is the equivalent of v-if or ng-if in Vue.js and Angular respectively.
  • Routing is supported, which make more sense compared to other major frameworks and libraries.

Improvements and Bug fixing

Some ideas I am thinking of:

  • Introduce a simple and efficient way of using a StateManagement system.
  • Multi-threading to help improve performance even more.
  • Create premade Components like ListView, Row, Column or ImageSlide.

If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.