Back-End and Front-End

in frontend •  6 years ago 

student-849822_640.jpg

The terms Back-End and Front-End are very well known in the programming world, but I would like to add some small sauce on them with my personal point of view updated in recent years with the advancement and the changes on technologies.

Popularly speaking - Back-End is the "Server" side of an application - the logic that is on some "remote" computer and Front-End is the part of the application that is shown to the user - most people associate it with the Browser client (HTML+JS+CSS Interface).
That is very shallow description of all the variations there could exist with different software layers and hardware layers, different devices, types of applications and use cases.

If the users of your creations are Business-to-Business the UI layer may be indeed simple - just browser or a simple app. Business clients generally have good Internet connection and speed and are more focused on the logic behind and the positive Business impact of the software + hardware.

If the end users are Customers, than - the User Experience is very, very top priority. Today, building interfaces even in the browser is more like app development thanks to HTML5 APIs and PWA. You should handle bad or no internet connection - functionality, you should cache and optimize for speed, you should do whatever possible on the client-side.

Besides the browser - there are different mobile platforms and devices. Native will forever be the fastest in terms of speed and smallest in terms of application size.
There are also speakers with a wi-fi adapter - that could be the next big "Interface" to the User.
What if Musk (or someone else) creates a chip that attaches somehow to the human brain and enhances the human to input and output directly to the devices around him and the Internet in high speed - without keyboard, mouses, touchable and non-touchable screens, and speakers? Will you feel lost - that time you've developed endlessly - yet another UI and application?

There are some good problems that the back-end developers solve:

  • Implement the business logic that is best done here - security, authentication, fast data algorithm and processing, etc
  • Scaling the application to handle more requests
  • Structuring the data in the most appropriate way according to the applications need and scale

Probably in most server applications out there - there is no multi-flow work and data processing in the logic itself - as a app developer is written in one "line", one thread, one process no matter that the (HTTP) requests are threads/requests themselves. Actually even with simple Web Application synchronization collisions may occur - if opened from different browsers/sessions.

I know several developers that have coded multi-threaded, multi-process back-end applications, but that still don't like front-end development. Front-End development, besides that user interface itself, is very close to a multi-threaded application.

Especially nowadays - the languages, the frameworks, the design patterns used are probably more than 90% the same and it is not that difficult to learn the next major tendency in this technical direction. It will be just from a different provider, different toolkit, but in the end - the same and what you actually build with these tools was, is and will be more important.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @tomavelev! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published more than 40 posts. Your next target is to reach 50 posts.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:

Carnival Challenge - Here are the winners
Vote for @Steemitboard as a witness to get one more award and increased upvotes!