Releases: RiadhAdrani/recursive
v0.8.0
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()
andbeforePrepared()
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
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
andstyleSheet
are now merged intostyle
. - 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
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 theorchestrator
and no longer usesevent-based
updates:- Computed
changes
are now bundled together and executed in a single time. Hooks
are now bundled.Component-Styles
are now recursively collected.
- Computed
- 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 itscallback
and send anupdate-request
to theRecursiveOrchestrator
.RecursiveEvents
is now deprecated.- Introduced more feature to toy with regarding the
setState
method : It now return an array of5
elements and have4
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 dataasynchronously
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 toundefined
.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 aftersetValue
and it will return the updated value.
- Parameters:
- 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
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 auid
. - 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
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 andCreateComponent
class. - Recursive-Components.js export all ready-made components.
- Recursive-Router.js export
createRouter
,createRoute
,renderRouter
andgoTo
. - Recursive-State.js export
setState
,updateAfter
methods. - Recursive-Style.js export
setStyle
method.
- Recursive.js contains a
If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.
v0.3.0-alpha
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
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
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 thestaticStyle
parameter in the RecursiveDOM. Each component could be styled using the inlinestyle
or the automatedstyleSheet
. - Lifecycle methods or
hooks
are here too, for now we have:onCreated
,onUpdated
,beforeDestroyed
andonDestroyed
. flags
is a list of props that tell the RecursiveDOM how to display components, a very well known one isrenderIf
which is the equivalent ofv-if
orng-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
orImageSlide
.
If you find this project interesting or have any suggestion, feel free to leave a comment/Issue.