This article introduces the expo-av
package, a universal audio (playing and recording) and video module for React Native projects. The package is maintained by Expo, the go-to library for bootstrapping React Native projects targeting a range of platforms.
Audio packages have come and gone in the React Native ecosystem, most of which either do not work or have not been updated for a significant amount of time. When looking at packages to adopt — especially for critical tasks like audio playback — a reliable and well maintained package is needed. Major iOS updates are launched on a yearly basis and Android updates considerably more regularly. …
This article introduces the feed-forward neural network, its underlying structure and how a “forward pass” (generating an output from input data) is performed within it. This article acts as an introduction to neural networks for those who have not endeavoured into them before, and provides a foundational understanding by which all other neural networks are built upon.
A feed-forward neural network is the most basic type of Artificial Neural Network (ANN). They consist of an input layer, 1 or more hidden layers, and an output layer. Each layer consists of neurons, and neurons also have their own structure. We will not only be covering the components of a neuron, but also how neurons are connected throughout a network. …
Matrices are a fundamental concept in AI, especially when working with neural networks and the majority of sub-fields of machine learning, such as image processing and synthesising, natural language processing, prediction — just about all types of deep learning models rely on matrices to contain and manipulate numerical collections of data.
Matrices are multi-dimensional arrays of numbers. They, and neural networks in general, are often referred to as “black boxes”, as they are notoriously hard to analyse for patterns or effectiveness.
Matrices can be very large and can exist in a multitude of dimensions, typically ranging in the thousands if not millions of elements in medium to large-scale projects. Although they are very good at adjusting to network parameters while they find their way to a resulting output, it is rather challenging for us humans to understand what is manipulated within these vast collections of numbers, at each layer of the network. …
Lottie is a library originally created by AirBnB to allow After Effects animations be exported as JSON objects, and played natively on mobile platforms and the web. Lottie for React Native is particularly popular right now with over 100,000 weekly downloads at the time of writing, and this is for good reason — the library allows developers to use industry standard tools that create complex animations that can look extremely impressive running natively on a mobile device.
High performance vector animations offer fluid transitions and shape deformations on the vertex level, as well as other benefits like scaling and theming support out of the box. …
The terms decentralised finance and yield farming have been aggressively thrown around social media and the Cryptocurrency press as of late in an attempt to capitalise on the buzz and interest of the community. These terms encompass a range of protocols that have launched on the Ethereum mainnet, in the form of smart contracts, that allow token holders to take part in various activities in an attempt to generate more tokens and increase their holdings. One can think of these smart contracts as financial instruments that token holders can take part in, and generate rewards in return.
These financial instruments have become quite sophisticated — they provide a level of automation and ability to move assets around protocols based on which protocol can offer the best returns. The most popular suite of tools to do this currently is with Yearn Finance, a relatively new library of smart contracts that aim to maximise the profit of token holders by automatically moving their tokens around protocols to generate the most revenue possible. …
Material UI is currently the most popular UI framework for React, with the library providing a range of ready-to-use components out of the box. The library consists of components for layout, navigation, input, feedback and more. Material UI is based on Material Design, a design language that Google fore-fronted originally but is now widely adopted throughout the front-end developer community.
Material Design was originally announced in 2014 and built upon the previous card-based design of Google Now. …
This piece explores the development and management of TypeScript-based NPM packages for React Native. It will cover how to configure TypeScript linting and tsconfig for a package to ensure code integrity with useful VS Code extensions and settings to aid in TypeScript development.
An entire section will be dedicated to TypeScript specific development of a package, in addition to visiting a demo packages project that is available on GitHub. But there are other important aspects of developing NPM packages worth considering. …
This piece demonstrates how to load more items in a FlatList
component as you scroll down, as well as how to persist lists on device storage, and keep those lists in sync as more items are loaded.
The demo accompanying this piece (available here on GitHub) demonstrates what we’ll achieve, with more items loading from an external data source as the list is being scrolled down. Not only this, the list is persisted on device and in state as more items are loaded.
The following screencast summarises the process. Note that when we start scrolling more results begin to load immediately. In addition, more results are continuously loaded if the end of the list has been reached. This is due to the onEndReachedThreshold
prop of FlatList
, that triggers an event to load more items if the scroll position is within this threshold. …
Uniswap is an on-chain liquidity protocol on the Ethereum blockchain that enables trustless token swaps, meaning all transactions are executed from smart contracts without the need for an intermediary or trusted party. This decentralised approach to swapping tokens has proven popular with ERC20 token holders to exchange their tokens and provide liquidity to token pairs.
Uniswap launched its second iteration on the Ethereum Mainnet on the 19th May 2020 to coincide with the core contract v1.0.1 release, after testing on the Rinkeby testnet for some time prior to this. …
Command Line Interfaces (CLIs) are widely used by developers to facilitate the app development process. In the JavaScript ecosystem alone, that could be a compiling process (TypeScript to JavaScript, Webpack, Babel, etc), a package utility (creating a new NPM project, managing Git) or connecting to remote hosts. This almost endless list goes on for millions of utilities that have been developed for JavaScript based projects alone.
It is not uncommon for a popular CLI based tool on NPM to have millions of weekly downloads, that illustrates just how integral Node.js (and JavaScript in general) has become for development processes. JavaScript undoubtedly plays a huge role for CLIs at various stages of the development pipeline, in the form of Node.js …
About