Friday, January 8, 2016

Alpha Reflex

During the week of Christmas, I built a simple mobile game Alpha Reflex using React Native — yeah, React Native is a peculiar choice for game development; I'll explain the why and how in another post. One week after I submitted it for Apple's app review, the game is finally live on App Store today! It's also available for Android on Play Store.

Alpha Reflex challenges you to find letters in alphabetical order as fast as possible. It's designed to train your reflexes and enhance your peripheral vision. It also helps me memorize the Russian alphabet which I learned while debugging the game.

My personal record so far is 180 APM (8.66 seconds for the English alphabet); by my estimation, the human limit should be around 480 APM (i.e. 3.0 seconds for Greek, 3.3 seconds for English, 4.1 seconds for Russian, and 5.8 seconds for Japanese.)

One thing still puzzles me: I used the same code base and vector assets for iOS and Android, but the iOS app size is 1.9MB while the Android release build ends up to be a whopping 8.9MB. The lion's share of the bloat comes from a 5.7MB classes.dex file (uncompressed size). I have no idea why it is so or how to shrink the package.

Update: after digging into the AAR directories, I think I know why — React Native bundles the JSC library into the Android APK. The shared object file for ARMv7-A is 1.9MB uncompressed, and the x86 version 4.6MB. On iOS, I believe React Native leverages the shared JavaScriptCore engine provided by the OS, so the IPA package is much smaller. It's still unclear to me how to significantly trim the app size on Android. Maybe it hinges on React Native switching to the V8 engine?


  1. I think that it won't be as fast with V8, that's why they chose JSC.

  2. The app crashes on Nexus 6P with Android 6.0

  3. شركة ركن الاندلس من افضل الشركات التى لها باع طويل فى مجال الخدمات المنزلية ولانه افضل شركة متخصصة نقدم لكم اليوم بعض من خدمتنا المميزة مثل شركة تنظيف بالقصيم
    شركة تنظيف خزانات بالقصيم
    شركة تنظيف مجالس بالقصيم
    شركة نقل عفش بالرياض
    شركة تنظيف بالرياض

  4. Is it possible to have 2 touch responder simultaneously? I want that a element should respond to touch while I am touching and holding other element on the screen.

  5. اليكم اليوم عزيزى العميل افضل شركات التنظيف فى المملكة العربية السعودية وهى شركة ركن الشروق التى تمتاز بالعمالة الفنية ذو الخبرة الكبيرة فى مجال التنظيف ومكافحة الحشرات ونقل العفش الى جميع انحاء المملكة كما ان الشركة لديها خبرة كبيرة من كثرة العمل فى مجال التنظيف فىى المملكة . شركة تنظيف بالرياض
    شركة مكافحة حشرات بالرياض
    شركة نقل عفش بالرياض

  6. ليس من السهل الحصول على شركة متميزة ومتخصصه لعملية التنظيف ومكافحة الحشرات ونقل العفش وغيرها من الخدمات فشركتنا رائده في هذا المجاال وجعل منزلك راقي وجميل حيث يتوفر لدى شركتنا عمال فلبيين وغيرهم متميزون وعلى درجه كبيره من الكفاءه والخبره كما ان شركة ركن الشروق يتوفر لديها افضل المعدات واحداثها التي تجعل الشركة متقدمه عن غيرها وجعل امور المنزل من تنظيف او مكافحة او نقل امر سهل وراقي في العمل عزيزي العميل نتمني منك الاسراع الينا وطلب الخدمة التي تريدها وسوف يصل اليك فريق على درجه كبيره من التميز والخبره والسرعه في العمل اتصل بنا ولا تتردد نصلك اينما كنت شركة تسليك مجاري بابها
    شركة مكافحة حشرات بابها
    شركة نقل عفش بابها

    شركة تنظيف خزانات بابها

  7. I like the post format as you create user engagement in the complete article. It seems round up of all published posts. Thanks for gauging the informative posts.
    cara menggugurkan kandungan
    obat aborsi
    kalkulator kehamilan
    tanda tanda kehamilan