What it does
Our tookit helps software developers by improving the development experience with runtime developer tools and live user interface updates on the device. It hotloads code changes into your Messenger Extensions app on the device as you’re coding, within seconds live updating React components for quick iterations. We’ve also added a developer console to conveniently inspect device logs in real time to learn what’s going on in the running Messenger Extensions app.
Moreover, we’ve implemented open source Clojurescript libraries for the Facebook Messenger platform, including a library implementing Clojurescript support for the Messenger Extensions SDK. It also includes novel clojure.spec schemas to validate json objects before submission to the Messenger SDK. See the
src/cljs/api/facebook directory in the open source distribution on github.
The toolkit has been battle tested at hackathons and is now ready to be open sourced.
See the images above for a typical MEkit development workflow in the Atom code editor, with a repl to the right of the display. The mobile device shows the Messenger Extensions app under development, with the display reflecting the code in the editor, which implements React components using the Reagent library for ClojureScript.
Changing the code in the editor updates the Messenger Extensions app on the tablet. After saving the file, the code is compiled and hotloaded into the Messenger Extensions within seconds:
We have also implemented a developer console showing the debug log and other development functionality in the app, similar to the developer console provided by desktop web browsers.
How we built it
Accomplishments that we're proud of
Getting live code updates to work for Messenger Extensions.
What's next for MEkit
Eventual prize money will fund improvements to the open source code.