dev-concepts Archives - SoftUni Global https://softuni.org/tag/dev-concepts/ Learn Programming and Start a Developer Job Fri, 16 Dec 2022 13:26:06 +0000 en-US hourly 1 https://wordpress.org/?v=6.1.3 https://softuni.org/wp-content/uploads/2022/04/cropped-SoftUni-Global-Logo-Square-notext-32x32.png dev-concepts Archives - SoftUni Global https://softuni.org/tag/dev-concepts/ 32 32 Model-View-Controller (MVC) [Dev Concepts #20] https://softuni.org/dev-concepts/model-view-controller-pattern/ https://softuni.org/dev-concepts/model-view-controller-pattern/#respond Fri, 17 Dec 2021 11:47:00 +0000 https://softuni.org/?p=9468 In this video from the Dev Concepts series, we take a look at the MVC pattern!

The post Model-View-Controller (MVC) [Dev Concepts #20] appeared first on SoftUni Global.

]]>

In this episode, we take a look at the MVC pattern. In short, MVC stands for ModelViewController. It is a design pattern used to help us build frameworks for applications. The MVC splits the application into three different sections. Each section represents one word from the abbreviature.
The lesson includes a small example, which uses the MVC pattern, so make sure to check it out.

mvc-logo

What are Models, Views, and Controllers?

Each component has a specific responsibility and has a link to the others. That creates a solid structure for our web application.

  • Model is the lowest level, responsible for maintaining the data. Each model has a connection to the database and can have relationships to other models. If any data changes, the model will notify the controller.
  • The view is the only part of the app the user interacts with directly. It represents the visualization of the data that a model contains. The model never directly communicates with the view.
  • A controller is the go-between for model and view. It relays data from browser to app and from app to browser. The controller receives user input, translates it to match the model, and then passes those inputs onto a view.

Using the MVC pattern correctly can help you as a developer. It ensures a smooth and easy-to-follow user experience. Although it takes time to understand how MVC works, it will pay off when creating future applications.

In the end, MVC is not hard to understand. Just keep in mind these key points:

  • MVC is an architectural pattern consisting of three parts: Model, View, Controller.
  • Model: handles data logic.
  • View: displays the information from the model to the user.
  • Controller: controls the data flow into a model object and updates the view whenever data changes.

Lesson Topics

In this video we review the following topics:
  • Model-View-Controller Patter
  • Web MVC Frameworks

Lesson Slides

The post Model-View-Controller (MVC) [Dev Concepts #20] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/model-view-controller-pattern/feed/ 0
Object-Relational Mapping (ORM) [Dev Concepts #19.2] https://softuni.org/dev-concepts/object-relational-mapping-orm/ https://softuni.org/dev-concepts/object-relational-mapping-orm/#respond Mon, 13 Dec 2021 09:21:00 +0000 https://softuni.org/?p=9218 In this short video, we will get familiar with the Object-Relational Mapping concept

The post Object-Relational Mapping (ORM) [Dev Concepts #19.2] appeared first on SoftUni Global.

]]>

In this lesson, you will become familiar with the Object-Relational Mapping technologies or the so-called ORMs. As a relative newcomer to programming, terms like ORMs can sound intimidating. The nice part about them is that they allow us to write code easier once we understand them.

Object-Relational Mapping technology is the idea of writing queries using your favorite programming language. We interact with a database using our language of choice instead of SQL.

Let’s say that we have an application. An ORM will convert the result of a database query into a class within our application. The selected columns will map to the class properties. On the other hand, if you push data towards the database, an ORM will map the properties of a class into columns of a table. When people say ORM, they refer to a framework that implements this technique. Here are some of the most frequently used ORM frameworksEntity Framework, Hibernate, Sequelize, and SQLAlchemy.

Lesson Topics

In this video we review the following topics:
  • ORM Technologies
  • Overview Live Demo – ToDo List

Lesson Slides

The post Object-Relational Mapping (ORM) [Dev Concepts #19.2] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/object-relational-mapping-orm/feed/ 0
Databases: Mini Overview [Dev Concepts #19.1] https://softuni.org/dev-concepts/databases-mini-overview-19-1/ https://softuni.org/dev-concepts/databases-mini-overview-19-1/#respond Mon, 13 Dec 2021 05:30:00 +0000 https://softuni.org/?p=9264 In this lesson of the series Dev Concepts, we take a look at Databases!

The post Databases: Mini Overview [Dev Concepts #19.1] appeared first on SoftUni Global.

]]>

In this episode, Svetlin Nakov will explain to you what databases are.  That probably is not news to you, but the world creates a lot of data nowadays. By 2030, more than 465 exabytes of data will be created each day globally. That statistic is proof that handling data becomes essential, and that is where Databases come into the picture.

A database is a place for storing our data but in an organized structure.  Data is organized and stored in the form of tables. A table contains rows and columns. Each row in a table is a record, and column a field that describes the row.  For example, In a customer table, each row is a unique person, and fields like name and address describe this specific customer.

We usually say that our database is MySQL, MongoDB, SQLite, MS SQL Server, etc. That is wrong! They are not databases, but database management systems(DBMS)

The DBMS is the software that you install on your personal computer or a server, and then you would use it to manage a database. Modern software systems use a DBMS system to manage data instead of implementing the data management internally.

One of the most important DBMS are: 

  • Relational Database Management Systems (RDMS)
  • NoSQL Database Systems

Today’s demo will be done with RDMSystem. They consider the relationship between the tables by using primary keys and foreign keys. Thus, it offers an advantage over other DBMS by fetching and storing the data. It is used in enterprises for storing large amounts of data.

Examples of RDBMS are:

  • Microsoft SQL Server
  • SQLite

The next type of DBMS  is NoSQL. Non-relational databases do not store data in tables. Instead, there are multiple ways to store data in NoSQL databases, such as Key-value, Document-based, and Column-based. Each record does not have to be in the same structure as other records. Due to this, to add additional data, you can add more records without changing the structure of the entire database. Although there are many perks to NoSQL databases, SQL databases are still more commonly used at this point.

Database systems are a necessary component of most modern software systems, and software engineers must have at least basic database skills.

If you are new to programming, make sure to watch our Free Full Java Basics course! It will give you the necessary foundation to build upon and become a successful software engineer!

Lesson Topics

In this video we review the following topics:

  • Databases
    • DBMS
    • Relational Databases
    • NoSQL Databases
  • Web SQL – Example

Remember that coding is a skill, which should be practiced. To learn to code, you should write code, every day, for a long time. Watching tutorials is not enough. You should code! 

We would love to hear from you, so leave a comment below saying what topics you would like to see next. 

Lesson Slides

The post Databases: Mini Overview [Dev Concepts #19.1] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/databases-mini-overview-19-1/feed/ 0
React Native: Short Overview [Dev Concepts #18] https://softuni.org/dev-concepts/react-native-short-overview/ https://softuni.org/dev-concepts/react-native-short-overview/#respond Wed, 08 Dec 2021 09:21:42 +0000 https://softuni.org/?p=9154 Upgrade your knowledge of React with this React Native Dev Concepts lesson!

The post React Native: Short Overview [Dev Concepts #18] appeared first on SoftUni Global.

]]>

In this episode, we’ll focus on modern mobile app development, while using React Native

In the previous episode, we reviewed “React“ which is the number one web framework for 2021. Today we will be focusing on modern mobile app development technologies and React Native. 

The lesson includes a small demo React Native mobile app, which defines a JSX component and renders it in the Web browser. 

For front-end and client-side app development, mobile apps are important. To build our mobile application we need to combine development principles, concepts, platforms, technologies, frameworks, libraries, and tools. In this lesson, we will be reviewing the two major mobile app platforms that dominate the markets.

 

They are Android and ioS. Each one of them has its perks: 

  • Android devices are less expensive compared to iOS devices. They also provide more freedom and options for developers. 
  • iOS devices are slightly less popular, despite their high price. This market is more profitable because most apps follow a paid model. 

Mobile app development technologies are split into several categories: Android, iOS, and Hybrid. We have talked about the first two, but what are Hybrid technologies? They are based on JavaScript and HTML5 using an embedded Web browser. There are more mobile app dev technologies, but those are the well-known ones we will be talking about. 

Lesson Topics

In this video we review the following topics:
  • Mobile App Technologies 
  • Overview Live Demo – Summator

Lesson Slides

The post React Native: Short Overview [Dev Concepts #18] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/react-native-short-overview/feed/ 0
React: Short Overview [Dev Concepts #17] https://softuni.org/dev-concepts/react-short-overview/ https://softuni.org/dev-concepts/react-short-overview/#respond Tue, 07 Dec 2021 09:29:25 +0000 https://softuni.org/?p=9127 In this lesson of the series Dev Concepts we take a look at React!

The post React: Short Overview [Dev Concepts #17] appeared first on SoftUni Global.

]]>

In the current lesson, we will review a highly popular JavaScript UI library, called “React“. In short, React.JS is a component-based front-end technology for the Web. The JSX components in React combine HTML and JavaScript to display the component UI, which is bound to the internal component state.

The lesson includes a small demo React app, which defines a JSX component and renders it in the Web browser.

Later in the lesson, you will find a slightly more complicated demo: how to create a simple React calculator, which sums two numbers. We will review each of the files inside the sample React app to understand better how it works internally.

So, what is React?

When we talk about user interface and front-end frameworks, it is worth mentioning React.

  • React is a powerful JavaScript library from Facebook for building Web user interfaces using HTML, CSS, and JavaScript. The UI is built from JSX components, which combine HTML + JavaScript using a built-in templating engine.
  • React is а component-based UI library.
  • With React, developers create reusable UI componentswhich have a lifecycle, internal state and behavior.

It is discussable whether React is a library or a frameworkIt is maybe somewhere in between.

By adding some additional components like React Router, MobX, Redux, Flux, React Toolbox, and some others, we can turn to React into a fully-functional Web front-end framework.

Lesson Topics

In this video we review the following topics:
  • React – Overview
  • Live Demo – Summator

Lesson Slides

The post React: Short Overview [Dev Concepts #17] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/react-short-overview/feed/ 0
Desktop App with Windows Forms [Dev Concepts #16] https://softuni.org/dev-concepts/desktop-app-with-windows-forms/ https://softuni.org/dev-concepts/desktop-app-with-windows-forms/#respond Mon, 06 Dec 2021 12:37:25 +0000 https://softuni.org/?p=9097 Create a simple calculator with Windows Forms! Watch our new Dev Lesson to find out how.

The post Desktop App with Windows Forms [Dev Concepts #16] appeared first on SoftUni Global.

]]>

In this episode, you’ll learn how to create a desktop application using Windows Forms and C#.  
We will take a closer look at how GUI frameworks work with a live code example.

In programming, GUI means “graphical user interface“, which is a system to interact visually with the users through UI controls, such as forms, buttons, text boxes, and others.
In this session, we will show you a sample desktop app based on the Windows Forms GUI framework. We will build a simple calculator, which sums two numbers.

We will get familiar with the structure and the front-end part of the app: the main form, holding the UI controls. We will look at how the app is built, by extending a class from the UI framework, from a composition of components, and how event handlers are called from the framework to respond to user interactions.

The demo code is designed to run in a Windows environment, using Visual Studio and the .NET Framework. It can’t run on Mac or Linux. Sorry, this is a limitation of the Windows Forms technology.

Windows Forms is a classic software framework for the development of Desktop graphical user interface (GUI) apps for Microsoft Windows.

It is based on the .NET platform and the C# language.
Windows Forms provides a programming model and rich UI control library for building GUI apps.
Additionally, the Visual Studio IDE provides a powerful visual UI builder for Windows Forms, where developers design the user interface by dragging and dropping UI controls and configuring their properties and events. 

Windows Forms is an object-oriented framework. Your app is a “form“, which is an object-oriented classThis class inherits its functionality and behavior from a base class from the framework. Additional UI controls (such as labels, text boxes, and buttons) are added as data fields in the app classThe app UI controls are inserted into the tree of components, in the parent container.

Lesson Slides

The post Desktop App with Windows Forms [Dev Concepts #16] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/desktop-app-with-windows-forms/feed/ 0
Libraries and Frameworks: What Is the Difference? [Dev Concepts #15] https://softuni.org/dev-concepts/libraries-frameworks-difference/ https://softuni.org/dev-concepts/libraries-frameworks-difference/#respond Fri, 03 Dec 2021 11:01:40 +0000 https://softuni.org/?p=9064 Learn the difference between libraries and frameworks in this Dev Concepts lesson!

The post Libraries and Frameworks: What Is the Difference? [Dev Concepts #15] appeared first on SoftUni Global.

]]>

In this episode, we’ll be talking about UI and component libraries that provide ready-to-use UI controls and program components, and software frameworks that provide a technical foundation for developing certain types of apps. Both libraries and frameworks speed-up software development and are used every day by millions of developers, so you as a developer, should understand these concepts very well.

 

In this session we will explain the main difference between a library and a framework, which in short is the following:

  • Libraries extend your app by plugging a software component in it. They use the traditional program flow.
  • Frameworks are foundations of functionality, which developers extend to build an app. They use the “inversion of control” program flow.

Finally, we will explain the concept of “inversion of control” (IoC) and its purpose in modern software development. Svetlin Nakov will give you an example of how UI frameworks take the program execution flow and call your code through events when the user interacts with the user interface. This is an “inverted” program flow – IoC.

Lesson Topics

In this video we review the following topics:
  • User Interface and Front-end Frameworks
  • Libraries vs Frameworks
  • Inversion of Control (IoC)

Lesson Slides

The post Libraries and Frameworks: What Is the Difference? [Dev Concepts #15] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/libraries-frameworks-difference/feed/ 0
What Is Routing? [Dev Concepts #14] https://softuni.org/dev-concepts/what-is-routing/ https://softuni.org/dev-concepts/what-is-routing/#respond Wed, 01 Dec 2021 11:15:00 +0000 https://softuni.org/?p=9002 Learn all about routing in this Dev Concepts lesson!

The post What Is Routing? [Dev Concepts #14] appeared first on SoftUni Global.

]]>

In this video you will become familiar with the topic of “routing“, used for navigation in modern app development. In short, routing is the technology used to switch between different UI views (different app screens), based on changes of the current URL in the navigation bar. Routing is typically implemented through a routing library.

In this lesson, we will see how routing works in front-end apps. We will show you a sample routing library, which changes the view on the front-end, when the browser navigates to certain URL. Finally, we will demonstrate the concept of routing with a live coding example in JavaScript, so that we see how everything is done.

So, what is routing and why do we use it?

In front-end apps, routing is a technology for switching between different UI viewsbased on the changes of the current URL (holding the route).

In back-end apps, routing is a technology for switching between different server-side endpointsbased on the changes of the requested URL (holding the route).

Many front-end and back-end frameworks internally implement routing and invoke different functionality based on the URL and its components.

Routing libraries switch the view by URL like shown below.

  • This is the “home” URL: /
  • This is the “about” URL: /about
  • This is the “contact” URL: /contact

Different routes in the URL switch to different views.

This is briefly the concept of routing in Web apps.

Lesson Topics

In this video we review the following topics:

  • Overview of Routing and Routing Libraries
  • Live Demo – Navigation with Routing Library

Lesson Slides

The post What Is Routing? [Dev Concepts #14] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/what-is-routing/feed/ 0
What Is Templating Engine? [Dev Concepts #13] https://softuni.org/dev-concepts/what-is-templating-engine/ https://softuni.org/dev-concepts/what-is-templating-engine/#respond Tue, 30 Nov 2021 09:39:00 +0000 https://softuni.org/?p=8980 Learn all about templating engine in this Dev Concepts lesson!

The post What Is Templating Engine? [Dev Concepts #13] appeared first on SoftUni Global.

]]>

In this lesson, you will become familiar with the concept of “templating engines“, which render input data into output document (like HTML) through a template. We will explain how templates combine markup code with programming constructs to visualize data in a target output format.

 

Along with the slides, at the end of the lesson, we have included a live code example, so you can see how we can render an HTML-based UI with a templating engine. We will use a JSON dataset and the Handlebars templating engine in JavaScript to render the dataset as HTML document.

 

Templating engines render data as HTML or other format through a template.
This is very useful, when you want to visualize data, which comes from the server-side or from a database.
The template is written in some templating language like Razor, Handlebars or Pug.
Typically, templates combine HTML with special tags.
Templates can render variables, iterate over a collection and perform conditional checks.
You will definitely use templating engines in some form, if you work with data and visualization.

Lesson Topics

In this video we review the following topics:
  • Overview of Templating Engines
  • Live Demo – Rendering UI with a Templating Engine

Lesson Slides

The post What Is Templating Engine? [Dev Concepts #13] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/what-is-templating-engine/feed/ 0
Overview of AJAX and REST [Dev Concepts #12] https://softuni.org/dev-concepts/overview-of-ajax-and-rest/ https://softuni.org/dev-concepts/overview-of-ajax-and-rest/#respond Fri, 26 Nov 2021 09:39:00 +0000 https://softuni.org/?p=8871 Learn all about AJAX and REST in this Dev Concepts lesson!

The post Overview of AJAX and REST [Dev Concepts #12] appeared first on SoftUni Global.

]]>

In this episode, we explain the gist of AJAX and REST, which are widely-used technologies in Web programming. We demonstrate how to use the JavaScript Fetch API to call back-end services and interact with server-side components.

The lesson also includes a live code demonstration of AJAX and REST, so that you get a deeper understanding of their application.

What exactly is AJAX?

AJAX stands for “Asynchronous JavaScript and XML“.
This acronym doesn’t describe its nature well, but this is for historical reasons, from the time when XML was popular.
A better description of the AJAX technology is the following:
AJAX is a technology for asynchronous execution of HTTP requests from client-side JavaScript code. JavaScript front-end apps use AJAX calls to access the back-end services and APIs and consume data from the Web server over the HTTP protocol.
In most scenarios, the AJAX technology is used to consume RESTful APIs from the back-end server.
 
RESTful APIs are Web services, invoked through the HTTP protocol.
A “Web service” is remote functionality, that can be invoked over the Internet.
REST stands for “Representational State Transfer“. It is an architectural concept and industry standard about how to build Web services.
RESTful services typically implement the CRUD operations (create, read, update, delete) over а certain data collection.
The HTTP methods GET, POST, PUT, PATCH, and DELETE are used to retrieve, create, replace, modify and delete data.

Lesson Topics

In this video we review the following topics:

  • AJAX and RESTful APIs
  • Live Demo – AJAX and REST

Lesson Slides

The post Overview of AJAX and REST [Dev Concepts #12] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/overview-of-ajax-and-rest/feed/ 0
Web Front-End, DOM and AJAX [Dev Concepts #11] https://softuni.org/dev-concepts/web-front-end-dom-and-ajax-16/ https://softuni.org/dev-concepts/web-front-end-dom-and-ajax-16/#respond Wed, 24 Nov 2021 09:39:13 +0000 https://softuni.org/?p=8903 Learn all about Front-end, DOM and AJAX in this lesson!

The post Web Front-End, DOM and AJAX [Dev Concepts #11] appeared first on SoftUni Global.

]]>

In this lesson,  you will learn which technologies help us build user interfaces for software apps, what is the DOM (Document Object Model) and how we implement DOM interactions in JavaScript using the DOM API. Finally, Svetlin Nakov will explain and demonstrate the AJAX technology, the XMLHttpRequest, and the Fetch API, which allow consuming RESTful APIs from the back-end.

Web front-end, HTML, CSS and JavaScript, together with the Document Object Model (DOM), AJAX and few others are the dominant technology for building user interfaces for modern software apps.

This set of web front-end technologies is known under the name “HTML5 platform” or “The Web Platform“.

(See https://platform.html5.org for more details about the HTML5 platform.)

It consists of lots of technologies, APIs and standards, implemented in the modern Web browsers.

It is very important for every modern software engineer to be familiar with these HTML5 technologies and the concepts behind them.

Web front-end technologies are the way developers build the user interface, displayed in Web pages, Web sites, Web apps and cross-platform apps.
The HTML and CSS languages describe documents, content, layout, formatting and everything we see on the screen in the Web browser.
JavaScript (which is called also ECMAScript) is the main language, used by developers to program user interfaces in a Web browser.
The DOM technology allows accessing the elements in a Web page through JavaScript.
The AJAX technology allows invoking back-end services from JavaScript front-end apps.
JS front-end frameworks (such as React, Angular and Vue) simplify the Web front-end development by providing structure, components, guidelines, and patterns to build maintainable front-end apps.

What exactly is AJAX?

AJAX stands for “Asynchronous JavaScript and XML“.
This acronym doesn’t describe its nature well, but this is for historical reasons, from the time when XML was popular.
A better description for the AJAX technology is the following:
AJAX is a technology for asynchronous execution of HTTP requests from client-side JavaScript code. JavaScript front-end apps use AJAX calls to access the back-end services and APIs and consume data from the Web server over the HTTP protocol.

Lesson Topics

In this video we review the following topics:

  • Web Front-End and DOM
  • Using the DOM API
  • Live Demo – DOM Interaction
  • AJAX and RESTful APIs

Lesson Slides

The post Web Front-End, DOM and AJAX [Dev Concepts #11] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/web-front-end-dom-and-ajax-16/feed/ 0
Front-End, Back-End, and Full-Stack [Dev Concepts #10] https://softuni.org/dev-concepts/front-end-back-end-and-full-stack/ https://softuni.org/dev-concepts/front-end-back-end-and-full-stack/#respond Tue, 23 Nov 2021 08:03:00 +0000 https://softuni.org/?p=8798 Ever wondered what the difference between front-end, back-end and full-stack is? Find out in this lesson!

The post Front-End, Back-End, and Full-Stack [Dev Concepts #10] appeared first on SoftUni Global.

]]>

The current video gives an insight into the difference between front-end and back-end technologies and what the purpose of each is. You also learn what the term full-stack means.

The front-end is what users see on the screen. It consists of the client-side app components, the “presentation layer” of the software systems. The front-end displays the user interface to the users and interacts with them. 
Front-end technologies are the software technologies, used to build the front-end (the user interface) of the apps.
Web front-end, HTML, CSS and JavaScript, together with the Document-Object Model (DOM), AJAX, and a few others are the dominant technology for building user interfaces for modern software apps. This set of web front-end technologies is known under the name “HTML5 platform” or “The Web Platform“.
Back-end is the part of the software systems, which users don’t see on their screens.
The back-end provides concepts, frameworks, libraries, and tools to build business logic, implement data processing and data storage, and exposе programming interfaces (APIs) for the front-end.
The back-end is the server-side part of the applications, where users and their data are stored and processed.
Full-stack development combines back-end and front-end development.
This is what most software companies do when they build software products.
Full-stack development requires end-to-end architecture, design, and implementation of both server-side and client-side components and integrating them into a single software system.

Lesson Topics

In this video we review the following topics:

  • Front-End and Back-End – Overview
  • Front-End – Purpose, Technologies, The DOM API
  • Live Demo – DOM Interaction
  • AJAX and RESTful APIs
  • Back-End – Concept and Technologies
  • Live Demo – MVC Frameworks
  • Full-Stack – Overview

Lesson Slides

The post Front-End, Back-End, and Full-Stack [Dev Concepts #10] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/front-end-back-end-and-full-stack/feed/ 0