Facebook For Developers - 29th September 2016, Dubai
Hi there,
Here are couple of notes for the even I attended. We had a beautiful session starting from 9.50 am talking about how to monetize and distribute the facebook apps and some open source tools. Afterwards, there was a drill down into some technical topics explored in details in sort of a workshop.
Interesting Technologies:
- Facebook Analytics for App - an free tool to track and analyze the behavior of the users within the facebook app.
Opposed to cookie tracking / session tracking analytics to profile and analyze the user data - or guess his profile information based on connection, location and other parameters, facebook analytics will give you a very deep insights into use profile - based on the facebook profile - which will help you to clearly segment and understand your users.
- FBStart (fbstart.com) - facebook campaign which targets to help the startups in 3 main areas:
- tools - offering some tech tools for a certain limit value, which would help launch your startup
- mentorship - help and consultation to build a succesful project
- community - community of other enthusiasts and developers who joined fbstart initiative - sharing ideas and helping each other
Also today, I discovered that facebook has quite a huge number of open source projects. I have heard about several ones, however I had a more comprehensive overview about all other technologies that facebook open sourced:
- Augmented Traffic Control
- should be installed in between the network source and the target device
- simulation of certain network conditions to determine the app usability and performance
- Network Connection Class
- GraphQL - this is where the data is stored - allows execution of very specific requests and returning very specific responses, which will lead to faster apps, less network consumption
- Github has declared using GraphQL for some of their APIs.
- New GraphQL alternatives have emerged afterwards in Ruby, Python, etc...
- Redex - if you're building an android app, you should probably consider optimizing your apk through Redex, which will produce a better and more optimized version of the dex code.
- FlowType / FBInfer - may help you to write some javascript, sort of code assist tool - which can warn you about potential memory leaks, declaration typos / misuse of variables.
- Nuclide (nuclide.io) - can be installed on top of Atom to make React / React Native development easier (code assist and syntax checks to the Atom editor)
- Device Year Class
- is an Android Library
- analyzes an Android device's specifications and calculates which year the device would be considered "high end”
- based on the devices "high end" year you can decide to optimize the CPU, memory or network consumption for a better and smoother experience of your app.
- https://github.com/facebook/device-year-class
- React
- tool with which changed the way Web UI are generated and can be rendered
- code is written in JavaScript
- UI = Render(state), where state is UI values at specific point in time and render is a function, which manipulates the appearance of certain components based on the state
- makes UI quite powerful and fast, as the rendering affects only specific component of the page where the change took place
- React Native
- tool with which you can produce native apps using javascript code
- code is written in JavaScript
- native code chunks can be used within the react native app to futher customise the "common code" part for a better and more native UX
- https://facebook.github.io/react-native
You can find more information about facebook open source projects:
https://code.facebook.com/projects
Facts:
- Android is the leading player in the emerging markets - if your app is targeting emerging markets, you'd better put some heavy focus on the android app development
- People using iPhones tend to have better network connection conditions, which makes the app testing more straightforward:
- Alternatively, android apps should be heavily tested under more severe conditions to offer optimal UX.
- According to statistics, in 2015, 2 billion people cannot afford a 500 MB data packages - network consumption is still a challenge and should be considered carefully when building apps