Skip to content

Instantly share code, notes, and snippets.

@ryuheechul
Created March 31, 2019 06:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryuheechul/76725d770e632fab0719a4f4a44ecf44 to your computer and use it in GitHub Desktop.
Save ryuheechul/76725d770e632fab0719a4f4a44ecf44 to your computer and use it in GitHub Desktop.
If keytty was made of reactive streams

After a while since I discovered Functional Reactive Programming, I believe this is the way Keytty should be built.

Articles that convinced me

Currently, Keytty is mostly made up with proactive OOP written in Objective C.

There are several issues that I found when I try to maintain the code and add more features. such as:

  • Controller has too many responsibilities and gets more complex over time.
  • That leads some (thankfully minor) bugs that I have hard to understand and hard to fix it

    usually about UI drawing and side effects like dragging the mouse.

So, I wanted to give a changes to the code so that It can be more sustainable over long time and be more flexible to future changes.

That's why I'm trying to reimagine Keytty workflow as a collection of reactive streams.

My hands are not dirty enough to feel Reactive Programming (such as RxJS) is my thing yet. So my representation about these streams might inaccurate but I will revise them to make more sense over time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment