You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 15, 2025. It is now read-only.
Actually nothing, yet. If you want to be the first one, don't mind tweeting what ever you think about AgileTs.
163
+
But don't forget to tag [@AgileFramework](https://twitter.com/AgileFramework), otherwise we can't find your tweet.
165
164
166
165
## 🌏 Creation of AgileTs
167
166
168
167
After exploring the many options for Javascript State libraries, including Redux.
169
168
I felt like I need a simpler, more straightforward solution.
170
169
So I started searching for Redux alternatives and accidentally stumbled across a stream from [@jamiepine](https://twitter.com/jamiepine).
171
170
Jamie was using an interesting approach of State Management which was more modular and flexible, called PulseJs.
172
-
I instantly fell in love with the syntax of this framework.
173
-
At this point (spring 2020) it wasn't officially released and had no documentation.
171
+
I instantly fell in love with the concept of this framework.
172
+
At this point (spring 2020) it wasn't officially released and had no documentation at all.
174
173
But I tried to figure out how to use it anyway, and after some painful hours, I got it to work in my React application.
175
174
To save others this time, I decided to write a small [pre-documentation](https://www.notion.so/bennoworkspace/Pulse-v3-No-official-Docs-4e92e8d02dd3423582fa95072806cab6) for PulseJs.
176
175
Unfortunately, this documentation didn't make PulseJs more stable, and it remained very buggy.
177
176
So I waited and waited until summer where still no stable version of PulseJs was released.
178
-
In July, I decided to contribute to PulseJs, in order to help to stabilize the framework faster.
177
+
In July, I came to the conclusion to contribute to PulseJs, in order to speed up the development process.
179
178
But before I could contribute, I had to figure out how PulseJs works internally.
180
179
After hours, I still couldn't figure out how it works. This was due to the fact that I wasn't very experienced in Typescript,
181
180
and the codebase was pretty messy (no comments, variables called x, a, b, ..).
182
-
In order to change that, I rewrote PulseJs from scratch (in a separate project)
181
+
In order to change that, I rewrote PulseJs from scratch (in a separate project, later AgileTs)
183
182
and after a while, I got the hang and figured out how PulseJs works internally.
184
183
Now that I know how it works, I could finally contribute to PulseJs. My [first contribution](https://github.com/pulse-framework/pulse/commits?author=bennodev19) was on the 16th August 2020,
185
184
where I refactored the `PulseHOC`.
186
185
At the end of August, PulseJs was moving further and further away from my idea of an ideal State Management Framework.
187
186
Mainly because of the introduction of the `Pulse.Core`,
188
-
which more or less forced you to define all States, Actions in a single object called `core`
189
-
and didn't work correctly at all.
190
-
I wouldn't say I liked that behavior since I mainly switched to PulseJs in order not to define all my States in a single object.
191
-
And I hadn't seen fit to rewrite my entire global State Management Logic of my applications to use the latest stable version of PulseJs.
192
-
Another reason I turned away, was that some of my changes never got merged into the `master`. For instance, I fixed an annoying usePulse type issue,
193
-
and 8 months later, it is still not in the `master`. Why should I contribute if my changes will never be in the release version?
194
-
Luckily I had the refactored PulseJs lying around, which I created to learn how PulseJs works internally and released it as an own framework called
which more or less forced you to define all States, Actions in a single object called `core`.
188
+
And it didn't even work correctly at all.
189
+
I wouldn't say I liked that change since I switched among others things to PulseJs in order not to define all my States in a single object.
190
+
And I hadn't seen fit to rewrite my entire global State Management Logic of my applications to use the latest version of PulseJs.
191
+
That I didn't even like.
192
+
Luckily I had the refactored PulseJs version lying around, which I created to learn how PulseJs works internally and released it as an own framework called
Agile-Architecture was at that point just the old refactored PulseJs without the `Pulse.Core`.
197
-
I liked the old PulseJs more than the new PulseJs, so I stuck to my version of PulseJs.
195
+
Another reason I turned away from PulseJs, was that some of my changes never got merged into the `master`. For instance, I fixed an annoying usePulse type issue,
196
+
and 8 months later, it is still not merged into the `master`. Why should I contribute if my changes will never be in a release version?
198
197
Now that I had my own State Management Framework, I adapted it to my needs and optimized it.
199
-
Over time AgileTs has evolved away from PulseJs and can be seen as a standalone state management framework.
198
+
Over time AgileTs has evolved away from PulseJs and can be seen as a standalone state management framework with other visions and goals.
200
199
Today AgileTs has only a similar syntax to PulseJs. Internal, it works entirely different.
201
200
202
-
Conclusion: The idea of AgileTs is based on PulseJs, and I would have loved to continue working on PulseJs.
203
-
But the organisation was a mess, and I wasn't following the same vision anymore.
204
-
Therefore, I created AgileTs. To make the things better that Pulse wasn't able to accomplish.
201
+
**Conclusion:** The idea of AgileTs is based on PulseJs, and I would have loved to continue working on PulseJs.
202
+
But certain circumstances, such as the poor organization and different visions,
203
+
have driven me to write my own State Manager based on the ground concept of PulseJs and MVVM frameworks.
205
204
206
205
## 🎉 Credits
207
206
208
207
AgileTs is inspired by MVVM frameworks like [MobX](https://mobx.js.org/README.html)
209
208
and [PulseJs](https://github.com/pulse-framework/pulse).
210
209
211
-
## 💬 What others say
210
+
## ❓ Something missing
212
211
213
-
Actually nothing, yet. If you want to be the first one, don't mind tweeting what ever you think about AgileTs.
214
-
But don't forget to tag [@AgileFramework](https://twitter.com/AgileFramework), otherwise we can't find your tweet.
212
+
If you find issues with the documentation or have suggestions on how to improve the documentation or the project in
213
+
general, please [file an issue](https://github.com/agile/agile-ts/issues) for us or join
0 commit comments