Best and Most Common Web and Mobile Technologies
Choosing the right web and mobile technologies is critical for your application. Older technologies may limit the lifespan of your software. Mismatched technologies may not be a good fit for your project, limiting your future performance or functionality.
If you are new to custom software, the number of modern technologies for web and mobile development can be overwhelming.
In this article, we give a brief overview of the different types of technologies and their purposes in creating software. Then we list the most common technologies for each.
Web Front End
The user interface or web front end is the part of the code that you see and interact with. You may hear terms like User Experience or UX. That is the art of creating an application that is easy and intuitive to use.
HTML stands for HyperText Mark-up Language and provides the structure on the screen. A developer will identify page titles, images, text boxes, buttons, and text with HTML. The current standard for HTML is HTML5.
CSS stands for Custom Style Sheets. The purpose of CSS is to give a uniform look and feel to your web pages. CSS controls the fonts used, text sizes, colors, the position of elements on the page. The current standard for CSS is CSS3.
As your page get’s smaller, some items are made smaller, stacked on top of each other or removed. Text is truncated, smaller versions of logos are used, etc.
You will hear developers and designers talk about Mobile First Design. This just means designing your web application for the smallest screen you want to support, limiting your content to only what is necessary. Then you design for the next larger screen and add in more content.
The two most popular Responsive Design frameworks today are Twitter Bootstrap and Zurg Foundation.
Web Back End / Mobile Back End
Behind the user interface is the code that does all the calculations, logic, and handling of data. Confirming that your password is valid and calculating your shipping charges are examples of back-end code.
For web and mobile applications, the most common technologies for the programming language are C# .Net, Java, PHP and Ruby on Rails.
In addition to programming languages, developers use frameworks and libraries to avoid writing more code than they need to.
You may hear terms like MVC, MVVM, EntityFramework, Hibernate, NHibernate, Web Services (RESTful, SOAP), Mobile Notification Services.
Databases store the data that software needs over a period of time. When you shop at Amazon, your shipping address, billing details and past orders are all stored in a database.
Common databases for a web application include Microsoft SQL Server, mySQL, Oracle, Postgresql, Sqlite, DynamoDB and MongoDB.
When you write an application for a mobile device, you can do so using a native language designed just for that platform (Apple iOS, Google Android, Microsoft Mobile). The advantage of a native application is that you have full access to the functionality that the operating system will support for that device.
The downside is that if you want your application available for multiple platforms, then you will have to write the code multiple times.
Examples of native development languages are Objective C and Swift for iOS, Java for Android and C# .Net for Windows Universal Apps.
Cross Platform Mobile
An alternative to native development is using a cross-platform framework. The goal of these frameworks is to write the code once for a mobile application and have it compiled for each native device.
There are pros and cons for each platform as they each approach the problem differently.
The two leaders in cross-platform technology are Xamarin, Sencha, and PhoneGap/Cordova.
Technologies come and go, and they each play a different part in creating a web application or mobile application. Use this article as a general overview and cheat sheet of the top technologies that are most common in building modern custom software today.
If you would like to talk about which technologies best suit your application, let us know by filling out our contact us form on this page.
The Checklist For Sharing Your Software Vision
Before you get started in developing your software app, your thoughts and ideas should be clarified and written down so they can be consistently and easily shared and understood. To help you get started on the right foot, we have created a checklist.
You can grab a copy of that checklist below and share it with your team!