Skip to content

Instantly share code, notes, and snippets.

@dahlia
Last active August 29, 2015 14:14
Show Gist options
  • Save dahlia/2411a97c28073aed9f04 to your computer and use it in GitHub Desktop.
Save dahlia/2411a97c28073aed9f04 to your computer and use it in GitHub Desktop.
RFC: Rewriting libearth

Rewriting libearth

I've recently thought about rewriting libearth in another language. I am considering C#. Why not Python? Why C#?

  • Python is not that good at making native-looking GUIs, in particular, mobile apps. We have to make huge glue codes to bind Python to Objective-C/Java. It takes more effort than making libearth from scratch.

  • While Python is not good at making native-looking UIs, there are Xamarin products for C#. Although they are not open sourced.

  • Well, actually there are no much alternatives other than C#. C# has been considered as the best language for making GUI apps for a decade.

    • No need to much mention about Windows and Windows Phone apps.
    • Gtk# for native Gtk apps. Even some GNOME first-party apps are written using it e.g. Tomboy, Banshee.
    • Xamarin.Forms for iOS and Android apps.
    • Xamarin Platform for Mac apps.

And there is another reason why I am considering rewriting it. Because it seems to have some architectural defects.

  • It takes so long time to load posts and a lot of memory space for loaded data.

  • Posts are hard to be randomly accessed. It has to load whole feed posts to reach the oldest post.

  • Hard to filter posts marked as read/starred.

So how can the design be adjusted?

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