What Is the Best Front-End/Back-End Combo for an Enterprise App?

frontend-backend-combo

Originally published Feb. 20, 2017, updated Aug. 15, 2018.

Choosing the best front-end and back-end combination is probably the most complicated part of building an enterprise app.

There are so many exciting languages, frameworks and databases to consider, and no single combo works in every situation. It’s easy for options paralysis to set in.

To navigate through the maze of choices, let’s take a closer look at the popular databases and front-end framework solutions in enterprise computing today.

Databases

Oracle

The longtime king of the hill in enterprise databases is Oracle.

For large government agencies, international corporations and high-value data centers, Oracle’s reliability is hard to beat.

IBM DB2

IBM’s DB2 is one of the highest quality, most cost-effective RDBMS platforms on the market.

It’s easy to install and supported on Unix, Linux, and Windows.

DB2 is ideal for companies running high-volume, high transaction workloads.

It’s most popular in industries like insurance.

Microsoft SQL Server

This versatile database platform offers enterprise companies complete data management and powerful business intelligence (BI) capability.

SAP Sybase ASE

This stable, cost-effective, high-performance, low-risk database has seen better days.

Under its previous name Sybase, it was part of the database power trio: Sybase, Oracle and IBM. It lost market share and was eventually sold to SAP.

The database still sees wide usage in industries like banking, but its star is falling.

Newer databases continue to edge it further into obscurity.

Teradata

For enterprise organizations with huge data warehouses, Teradata database fits the bill.

This self-described Very Large Database System (VLDB) was the first database focused on handling terabytes of data.

It features intelligent optimization which responds rapidly to requests.

Popular users include telecom companies and large retailers who handle enormous amounts of transactions every day.

EnterpriseDB

Based on the open-source PostgreSQL database, EnterpriseDB (EDB) adds performance and security features suited for enterprise-level workloads.

Front-End Frameworks

The field of top-quality front-end frameworks is constantly evolving.

JavaScript solutions like Angular and Ember have grown into an important element in many enterprise stacks.

Bootstrap

Since its release in 2011 Bootstrap has become the most widely-used open source framework in the world.

It’s a popular tool for HTML, CSS and JS development.

Bootstrap scales easily on websites and apps off a single code base across desktops and mobile devices.

Its documentation is incredibly thorough, though the variety of styles included makes the file size a little large.

Foundation

This enterprise level front-end platform used by eBay and Facebook is useful for creating highly responsive sites.

Foundation is a collection of frameworks for the front-end that creates attractive, fast sites, email messages and mobile apps.

The tradeoff is that it’s too complex for beginner; it takes a skilled developer to build with Foundation.

Angular.js

Angular has rapidly become one of the most popular JavaScript frameworks for enterprise computing.

It emphasizes simplicity, testability, and ease of construction, letting developers get more functionality from less code.

The framework is rigorously maintained by Google. Two versions are planned for 2018.

Version 6, which was released in early 2018, adds more tools for cross-compatibility going forward, and Version 7 is already in beta for a Fall 2018 release.

React.js

Like Angular, React has grown in popularity over the last couple of years, offering a series of new releases and development tools and enjoying increasing adoption for new projects.

Unlike Angular it’s not a fully-fleshed front-end. Instead, it’s a simplified way to create dynamic view layers for apps.

React got a serious boost in popularity from Facebook’s release of React Native for creating mobile apps.

Ember.js

Ember offers easy migration between versions and rock-solid stability.

It’s been trending downwards in popularity lately, but not because of quality.

Instead, the problem seems to be that Ember is highly structured and standardized, and most newer developers like JavaScript for flexibility and freedom of style.

Ember is useful for building highly scalable Single Page web apps.

Backbone.js

Backbone provides structure to enterprise front-ends, with features like key-value binding, collections with a robust API and views complete with declarative event handling.

Some developers regard Backbone as too light for modern apps, but it still has a loyal base of users.

Conclusion

These are just a few of the many dynamic tools available for building modern apps.

Choosing between them- that’s better done on a case-by-case basis.

There are some helpful guidelines when weighing the options.

For example, a solid MVC framework like Angular or Backbone is a reasonable choice.

Also, worth considering is that while the database and front-end are the core of enterprise installation, more tools are needed to optimize the system.

These could include components like API middleware, jQuery, underscore templates, and custom fonts.

The best way to create the perfect front-end and back-end combination is to outline the specific project at hands requirements and assemble the stack that fits those.

Looking for direction on your next enterprise app? Sit down with one of Concepta’s experienced developers for a free consultation on what’s best for your business.  

Request a Consultation

React Native vs. Objective-C: The Right Tool for Software Development

react-native-objective-c

Choosing the right tools for software development is a tricky proposition. Each language and framework has its own strengths and weaknesses.

To complicate the matter, it can be hard to see where newcomers like React Native fit with old standbys like Objective-C.

Read on to learn how these tools stack up against each other- and which is right for your next software project.

What is Objective-C?

Objective-C is a general purpose programming language used in iOS and OS X operating systems and APIs.

It’s a superset of the C programming language and can call C++ code.

Programmers describe the language as a cross between C and Smalltalk, from which it derives its object-oriented capabilities.

Though Objective-C is one of the earliest programming languages, it can still be useful.

It’s still needed when working before iOS 7+, Mac OS 10.9+, and in all versions of tvOS and watchOS.

In Objective-C categories offer the ability to add functionality to an object without changing the actual object.

Programmers can define new methods and add them to classes for which the source code isn’t available.

Rather than calling methods, Objective-C uses message passing. It interacts with objects by sending messages.

The object then has options for how to interpret the message.

For example, it can invoke a method that matches the message, broadcast the message to a group of objects, forward it to a single object, or introspect it & apply custom logic.

Messages are implemented at runtime and don’t throw runtime errors when they go unexecuted.

Memory management is reasonably simple, with limited options for how to accomplish it.

Objective-C is entirely geared towards simplicity, in fact. There are no templates, multiple inheritance, or other features which lead to complexity.

Benefits of Objective-C

Simplicity

Objective-C is small, direct, and easy to learn.

Dynamic typing

There’s also support for static typing when desired.

Intuitive message syntax

Message patterns read much like spoken sentences interspersed with colons.

Automatic garbage collection

This is optional; programmers can use a reference counting system if they prefer.

Limitations of Objective-C

Steep learning curve

Developers need to have a grounding in C, so they effectively must learn two languages.

Mainly for iOS applications

Other platform implementations exist but aren’t really used

Older language

Objective-C is vulnerable to being phased out as Swift gains more attention and usage.

React Native: A Better Path to Cross-platform?

React Native is a mobile app development framework that allows cross-platform apps to be written entirely in JavaScript.

It’s an open source project started by Facebook. React Native works a lot like React, which excels at single page web apps.

Apps built with React Native don’t run in a web view like hybrid apps.

They’re cross-platform mobile apps from the ground up and when finished are similar to those built using Objective-C or Java.

Developers can reuse the codebase (or at least part of it) between Android and  iOS. Actually, about 90% of the codebase can be reused across platforms.

Another benefit of React Native is interoperability.

Developers may write components in Objective-C, Java, or Swift. It features hot reloading, too, so apps can simply be reloaded instead of needing to be recompiled.

Components are simple to build if developer can’t find one for a particular use.

They can be edited without affecting child components thanks to React Native’s downward data flow.

Benefits of React Native

Faster development

Smaller teams are needed, and development timelines are shorter.

Mobile-focused

React Native apps perform better than many hybrid apps.

Active and engaged community

The huge community of enthusiastic React Native developers is constantly adding to their catalogs of freely-available components.

Limitations of React Native

Newer framework

React doesn’t have a component for everything yet, and there aren’t as many skilled developers available.

Not suited for heavy graphics and calculations

Objective-C outperforms it here.

Slow

Performance can be lower than with native apps. Developers can get around this by incorporating native modules.

Technically in beta

Some developers fear React will be abandoned, like Parse was.

How They Stack Up

Comparing Objective-C and React Native is a bit of a mis-step. They’re different tools for different jobs.

Objective-C is mainly for iOS and OS X while React Native is meant for cross-platform mobile development.

Objective-C has its loyalists and is still a decent choice for iOS apps. However, there are very few reasons not to move to Swift when working solely for Apple devices.

When going cross-platform, React Native is a solid alternative to hybrid. The concern now is longevity.

All signs indicate Facebook will continue to maintain React Native but longevity is always something to consider when using a new tool.

No tool is always the best for every project. If your company is working on a mobile app, set up a complimentary appointment with Concepta’s developers to discuss the best tools for your specific purposes.

Request a Consultation