Home / Internet Marketing News / Building the Bambu Mobile App in React Native

Building the Bambu Mobile App in React Native

Write once, run on iOS and Android. It’s a goal many developers have set out to accomplish. Early solutions tried to bring web resources to mobile, but never had the experience users expected. Later solutions ditched the web development but were based on proprietary technology. This often led to a lack of a strong community, and much like before, these solutions lost momentum.

Then in 2015, Facebook released a variant of its popular React library on mobile called React Native. React Native seemed to address many of the issues from previous solutions. It not only allowed access to the vast resources of JavaScript development, but also ran UI natively. On top of all this, React Native is open source, allowing for it to grow and maintain a strong community of developers.

So when our mobile team here at Sprout started work on the mobile app for our employee advocacy product Bambu, we chose to build it in React Native. Prior to this project, our only mobile app was Sprout Social iOS and Sprout Social Android, which are built independently of each other using native technologies. By building Bambu Mobile in React Native, our team was not only able to have a shared code base, but was also given a fresh perspective on how mobile apps can be developed.

Bambu by Sprout Social Mobile App

Choosing React Native

When deciding if we were going to build Bambu Mobile in React Native, our mobile team had some tough decisions to make. As a whole, we had little experience with JavaScript, and would have to invest the time in learning a new technology. This investment had to be weighed with the advantage of a shared code base. We also knew very little about React Native at the time and weren’t sure of its long term viability.

To help answer these questions, we started by searching for other teams that had already built apps in React Native. This largely involved looking through blogs online and also included a phone call with a team from Groupon,  who had built a section of their mobile app in React Native. In the course of our research, most teams we heard from were confident in their decision to use React Native. While it had some hurdles given how different iOS and Android can be, the consensus seemed to be that the shared code base was worth it. In fact, when looking online, it appeared that most teams were able to write 80-90% of their code in Javascript, which was all shareable.

As far as long term viability, Facebook appears very committed to supporting React Native. The technology is used in many of Facebook’s own apps including Instagram and the main Facebook app. The open source community supporting React Native is also strong. Often times, when we found a bug or needed a capability,  it was waiting to be released in a new version. This offered a nice contrast to iOS or Android, where it may take a whole year to wait for bug fixes or code improvements.

Working With JavaScript

As a language, JavaScript is simple and easy to learn, yet as a community, the language is much more like the wild west. Unlike iOS and Android, where Apple and Google drive the direction of the community, in JavaScript, the community drives the direction. At first, there’s a lot to take in. Many libraries solve the same problems, and it’s hard to know which ones to use. To address this, we left many of our early architecture choices up to our web development team. By drawing on their experience with JavaScript, we were able to narrow the focus and start building much faster than if we had made the decisions on our own.

As we started to build with these libraries, we realized how far ahead this community is of the respective iOS and Android communities. The best example of this would be Redux, which is a JavaScript library that helps manage all levels of state in the application. In many iOS apps, application state is decentralized and scattered throughout view controllers. This often results in a scenario where you may update how state works in one part of the app, but it’s not always reflected in other areas, potentially resulting in bugs.

After spending some time in the JavaScript community, it appears the speed at which it moves can be attributed to a couple of things. For one, Javascript is one of the most popular languages, which naturally means more tools will be created for it. However, it’s greatest asset is how decentralized of a development community it is. Without a single company to guide it, there’s greater opportunities for new patterns/libraries to be tested and explored. So while there are many solutions to problems out there, chances are when you find the right one it will be worth it.

After learning from this community when building the Bambu mobile app, we hope to bring some of the ideas and patterns we learned back to our our native Sprout Social mobile apps. On Android, our team has started to explore RXJava, which follows the same event-driven pattern React Native is known for. On iOS, we have started to use stack views, which is similar to the grid like system of Flexbox in React Native.

In the beginning, I don’t think many of us considered the chance to write in Javascript as a benefit to React Native. However, the fresh perspective was a great unintended consequence. By learning from the Javascript community, we were able to improve our own programming styles and take those improvements to our other mobile apps.

The Benefits of a Team Effort

One of the strongest decisions our team made was having a combination of iOS, Android and JavaScript technical expertise on the development team. While not all developers were working on the app at the same time, we saved many hours by consulting with each other on issues that crossed domains. For example, after our release there was a problem with a webview on Android. As an iOS developer, this touched the two technologies I was least familiar with, JavaScript and Android. It ended up coming down to a team effort where a JavaScript engineer helped me pinpoint the bug, and a Android engineer helped me find where to fix it. Collaborations like this helped ease the burden of managing three different technologies in a single app.

In the end, each one of these technologies have small details that need to be worked out. If a React Native team is made up of developers from only one of the disciplines, they may find that these small details end up costing a great deal of time.

Going Forward

While React Native is still a developing technology, we are confident in our decision to use it for the Bambu mobile app. After all, we were able to write 90% of our code in a shareable language backed by a strong and contributive community. This not only allows us to reduce maintenance going forward, it also opens up the number of engineers that can support and improve the app. In the future, we also hope to integrate React Native into our main Sprout Social app and maximize our ability to share code across teams.

This post Building the Bambu Mobile App in React Native originally appeared on Sprout Social.

Click Here For Original Source Of The Article

Ads by WOW TRK

About Daniel Rodgers

A lot of news that you will not see in the paper. A lot of technology that is coming out that will not see in the paper.

Check Also

Social Media Secrets: 5 Under-the-Radar LinkedIn Features for Marketers

Under-the-Radar LinkedIn Features for Marketers

Under-the-Radar LinkedIn Features for Marketers

It's plain to see that B2B marketers, at large, see the value in social media. The latest B2B benchmarking research from CMI and MarketingProfs found that nearly two out of three respondents (61%) increased their usage of social media for content marketing purposes in the previous year. Another new report shows that social content is atop the list of focal areas for B2B marketers in the coming year.

It’s also fair to say, based on various data points and conversations with folks in the biz, that most of us feel we could be doing better with social. The size of the audiences on these platforms make them essential to any digital strategy, but breaking through suppressive algorithms and showing clear ROI is a perpetual challenge for brands.

One pivotal key to excelling with social media marketing is understanding all the tools you have at your disposal. Each platform offers a number of capabilities that seem to be underutilized by marketers who either don’t know they exist, or don’t fully recognize their potential impact.

With this in mind, we’re setting out to highlight some of the most useful yet overlooked features for driving results on social media platforms. Today we're focusing on the channel most pertinent to B2B marketers: LinkedIn*, with its member base of more than half a billion professionals.

Take Notice of These 5 Marketing Tools & Features on LinkedIn

Whether your goal is building brand awareness, generating leads, or boosting conversions, these five fundamental functionalities can provide a big assist if you aren't taking advantage of them already.

#1: Robust (and Now Simplified) Audience Targeting

LinkedIn recently overhauled its Campaign Manager tool (the interface through which marketers build, manage, and measure ads) around an objective-based advertising framework. The basic purpose of this initiative was to make it easier for users to align every element of their campaigns with the overarching objective. One of the slickest improvements to come out of this is the audience setup experience, which is now simpler and more intuitive.

From a B2B marketing perspective, the depth of available professional targeting parameters is by far LinkedIn’s biggest relative advantage compared to other social platforms. Nowhere else can you accurately filter audiences based on facets such as Job Title and Job Seniority. This provides unparalleled ability to reach decision makers and purchase influencers directly.

The revamped interface makes it quicker and more straightforward to select a qualified audience in line with your campaign goals.


#2: Revamped LinkedIn Analytics

The latest Social Media Marketing Industry Report via Social Media Examiner found more than half of respondents (54%) either uncertain or disagreeing that they are “able to measure the return on investment (ROI) for my organic social media activities.”

This is another area of Campaign Manager that LinkedIn recently spruced up. Given that advertising on this platform tends to be more expensive than other social networks, it’s especially important to ensure you’re getting return on that spend. The new reporting experience makes it easier to see results at a glance, and make optimization tweaks on the fly.

The underlying appeal of LinkedIn’s targeting facets also applies to its reporting mechanism; you can get an aggregated look at who is viewing and engaging with your content (i.e., which companies, which job titles, which experience levels). These insights can help you align your LinkedIn strategy and even your content marketing strategy more generally.

#3: Content Suggestions

Can’t figure out what to share on social media? That’s a common enough challenge. The Content Suggestions tab, found on the top nav bar within LinkedIn Page admin center, offers ample inspiration. It serves up a list of third-party articles your defined audience is engaging with — essentially a readily available stream of targeted, trending content.

Not only does this make it easy for marketers and social media managers to find share-worthy content that’s more likely to resonate with their followings, but it can also fuel employee advocacy efforts.

#4: Website Retargeting

Retargeting is a popular digital marketing tactic, which involves serving ads to people who’ve already encountered your brand. The element of familiarity, plus a concrete demonstration of past interest, tends to drive considerably higher clicks and conversions than standard ads.  

Through its Matched Audiences feature, LinkedIn allows you to place a pixel on your company’s website, then serve ads to people who’ve visited it before, while they’re on LinkedIn. It’s a great way to follow up with someone in a different context. One especially savvy approach is to create customized retargeting creative based on the specific section of your site a person visited (i.e., upper-funnel messaging for someone who went to your “About” page, and lower-funnel for someone who checked out a solution page.)


#5: Lead Gen Forms

This might be my favorite marketing tool on LinkedIn, and it definitely seems like one that more B2B brands could be utilizing. Lead Gen Forms are leveraged in combination with various types of ads, enabling your company to collect valuable contact info (and additional data about a prospect) from an individual who downloads something of value with minimal friction.

Unlike most gated-asset forms, which require a user to tediously fill out multiple fields, Lead Gen Forms automatically populate based on the member’s LinkedIn profile data. As such, it takes only a couple of seconds to get through the process. Because you’re attaining a more comprehensive snapshot of people who download, you can better qualify them as leads in comparison with other form-fills that often procure only a name, phone number, and email.


Step Up Your LinkedIn Marketing Game

LinkedIn can be one of the most valuable components of a holistic B2B marketing strategy. As mentioned earlier, there’s no denying it’s a pricier place to play than most other social networks, but you’re also paying for access to a higher-quality audience. Using the five features above can help you understand, segment, reach, and engage this audience efficiently while closely tracking the impact of your efforts.

Another underutilized tool on LinkedIn is video, which has been a key focus for the platform recently. Learn about all the metrics and specs for video on LinkedIn, as well as every other major social network!

*Disclosure: LinkedIn is a TopRank Marketing client.

The post Social Media Secrets: 5 Under-the-Radar LinkedIn Features for Marketers appeared first on Online Marketing Blog - TopRank®.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.