Facebook launched 6 new open source tools for the Mobile developers during its F8 conference.
Facebook’s F8; an annual developer conference, which took place at San Francisco this week witnessed the release of 6 new “open source projects” for Mobile developers namely Year Class, Network Connection Class, Fresco, React Native, Nuclide, Componentkit.
Device Year Class: This is a sort of library which can be used to evaluate the specification of the mobile device as well as calculate as to which year the device can be considered as “high end”. Basically the library comprises of using simple algorithmic methods to map the RAM, CPU cores of the device and also check the Clock rate of the processor and thus using all these specs check the “year class” of the mobile device. In simple words this tool would help the developers to determine the kind of device that is being used by user. Furthermore, this tool would also help developer to understand the hardware of the device and then modify it with new advanced apps or with fancier features. This tool can be related to performance library. For more information users can check : https://github.com/facebook/device-year-class
Network Connection Class: This also works on almost same principle as above, however the main difference here is that it comprises of a library of the network connections instead of using the specifications of the hardware. This tool evaluates the current network traffic in the app and based on this it will categorize the quality of the network in the mobile device. With the help of this tool the developers would be able to determine the speed of the network connection of the users and thus tune the apps accordingly. The tool helps developers by notifying the changes in the network connection of the user’s device and this information would be used by developer to make the appropriate changes in the device. Thus unlike Year Class this tool would require some coding from the developers. For more information users can check: https://github.com/facebook/network-connection-class
Fresco: This is a new image library for Android apps. Basically in mobile device the storage is very limited and hence if users start storing multiple images then the app runs out of memory which might lead to crash of the app. Hence a new image library Fresco has been introduced which smartly manages images and the memory they use. Hence Fresco would basically be responsible for memory management and also streaming the images as and when required. Other basic functions like displaying placeholders and image caching would also be done by Fresco. For more information users can check : https://code.facebook.com/posts/366199913563917/introducing-fresco-a-new-image-library-for-android/
React Native: It is a sort of framework which is used to build the native apps by using React. React Native empowers developers to build world class iOS and Android user interfaces without using any web viewer or browser. React Native basically focuses on developer efficiency across all the platforms. Facebook uses React Native in multiple production apps and it plans to continue investing in React Native. Hence Facebook has decided to open-source React Native for iOS and also make it available on the GitHub. Facebook is now awaiting for more inputs from developers on how to make Android better using React Native. For more information on this users can log in to https://facebook.github.io/react-native/
ComponentKit: ComponentKit derived its inspiration from React and its functional reactive programming model for building UI which thus resulted in the native Objective-C++ library which is used to deliver the News Feed in Facebook iOS app. In simple words ComponentKit is a native iOS library for functional and declarative UI. For more information users can check: https://code.facebook.com/projects/961592997185255/
Facebook wants all the Android developers to give their feedback and inputs on the various “open source projects” as well as the GitHub. Developers can login to https://code.facebook.com/ and get all detailed information regarding the open tools here.