DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • Top Trends in Cloud Computing in 2021
  • 10 Web Frameworks for Golang Development
  • Mobile and IoT Security Strategies in the Cloud
  • 15 SWE Trends Dominating the Tech Industry in 2021

Trending

  • Analyzing Stock Tick Data in SingleStoreDB Using LangChain and OpenAI's Whisper
  • Best Practices for Developing Cloud Applications
  • A Better Web3 Experience: Account Abstraction From Flow (Part 1)
  • Spring Authentication With MetaMask
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. How Features as a Service (FaaS) Helps You Code Faster and Improves App Quality

How Features as a Service (FaaS) Helps You Code Faster and Improves App Quality

Jt Ripton user avatar by
Jt Ripton
·
Peter Scott user avatar by
Peter Scott
·
Apr. 26, 16 · Opinion
Like (2)
Save
Tweet
Share
7.24K Views

Join the DZone community and get the full member experience.

Join For Free

Laziness is a key trait of the highly successful programmer. Amateurs invest lots of time in things that don’t matter, but good programmers move fast and don’t waste time.

There’s a business value proposition in programming fast, of course, but the really good programmers move fast for personal reasons: Better to make life easy than work hard. Better to reuse components and code than create everything from scratch. Easy is less work. Less work is good.

The first software programs were made for personal use by developers who wanted less manual work. Get smart with the code, and let the computers do the real work. This trend has continued as the industry evolves, and it explains high-level languages like Swift (nobody wants to code in machine language), code libraries, open source software, and cloud services. Elegance still matters, but the ultimate elegance is not spending time reinventing the wheel.

This penchant for working less by working smart is finding new expression in the form of features-as-a-service (FaaS), the latest app development evolution.

Developers have been using cloud services for some time on the backend. Much of the cloud runs on Amazon Web Services infrastructure, for instance, and many developers use backend services from Stripe and Paypal for credit card processing. These backend services make development significantly faster and more reliable because programmers simply piggyback off these services instead of building them from scratch.

A FaaS Way to Code

The emerging FaaS trend extends this concept to front-end features. If an app developer needs location services as a feature, they can use a FaaS provider such as Mapbox for quickly including the feature without building it from scratch. Or if they want social functionality, they can go with a FaaS provider such as Tapglue and skip the work of having to deal with profiles, following users, including news feeds and notifications, and other social components like commenting and in-app sharing.

Many features commonly needed by app developers already are available as a FaaS service.

Algolia, for instance, brings search features like auto-complete searches, advanced queries, geo-searches, and things like feedback loops based on metrics you define. It supports several different languages, too.

Or if you need deeplinking, you might grab the services of Branch.io, which simplifies the process of creating a link that directs them to an action when the user hits "invite" or "share" and ties data to the created links. This data can be used for things like onboarding and content.

This is laziness at its best. FaaS improves app development velocity and increases quality at the same time. Developers focus on the core value proposition of the app—what it does differently—not features that are necessary but already have been perfected by others. The smart programmer grabs features off the shelf and puts them together in a new way with as little original code as possible.

Working this way is smart app development, and one good example is real-time communications.

Embedded video chat and click-to-call functionality is important for many apps today. An estimated $1 trillion in annual sales comes from click-to-call functionality, as I noted in an article last month, Why Click-to-Call is Important for Mobile Apps and Web Sites. Google reports that roughly 70 percent of mobile consumers use click-to-call for faster calling on the go, and 40 percent use it frequently.

Embedding real-time communications in apps is relatively easy with mobile RTC, but compatibility challenges, numerous technical hurdles, and quality-of-experience issues still make embedded real-time voice and video functionality a pain. Serious apps must ensure that their voice and video features perform reliably despite variable mobile network connectivity, for instance.

Instead of grappling with these issues themselves, developers can drop in a FaaS real-time communications provider such as Agora.io and have click-to-call functionality with just a few lines of code. Much like developers use Stripe for instant payment processing on the backend, they can use Agora.io for turnkey voice and video features on the frontend and let the provider take care of network considerations, codec optimization, and other issues like compatibility.

Working Smart

Using FaaS for rolling out features and solving common front-end problems means that developers get solid functionality without much work. This is smart coding, and it also is the next evolution in software development.

The pace of software development now is so fast and consumer expectations so high, even programmers that don’t value their time can understand why FaaS is almost an inevitable progression. FaaS is getting more done with less, and freeing time for the parts of app development that are more fundamental departures from what came before.

For apps that take existing technology and features for new applications, FaaS speeds up the process. For apps that have a more fundamental technical innovation, developers can use FaaS for focusing on this core innovation and leave the rest to feature service providers.

Either way, FaaS makes life easier. Any good programmer can appreciate that.

Amazon Web Services mobile app Web Service Software development

Opinions expressed by DZone contributors are their own.

Related

  • Top Trends in Cloud Computing in 2021
  • 10 Web Frameworks for Golang Development
  • Mobile and IoT Security Strategies in the Cloud
  • 15 SWE Trends Dominating the Tech Industry in 2021

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: