0% found this document useful (0 votes)
34 views35 pages

2021 Software Engineering Trends Overview

The document discusses software engineering trends for 2021. It predicts that machine learning, edge computing, and artificial intelligence will become more mainstream. It outlines 17 major software engineering trends, including artificial intelligence/machine learning, robotic process automation, progressive web apps, continuous integration/delivery, blockchain, Internet of Things, and more. The document then provides more detailed descriptions of artificial intelligence/machine learning and robotic process automation trends.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views35 pages

2021 Software Engineering Trends Overview

The document discusses software engineering trends for 2021. It predicts that machine learning, edge computing, and artificial intelligence will become more mainstream. It outlines 17 major software engineering trends, including artificial intelligence/machine learning, robotic process automation, progressive web apps, continuous integration/delivery, blockchain, Internet of Things, and more. The document then provides more detailed descriptions of artificial intelligence/machine learning and robotic process automation trends.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software Engineering

ICT 4103
Assignment – 01

[Link]
ITT/2015/2016/030

Department of Information and Communication Technology

Faculty of Technology
Rajarata University of Sri Lanka

1
Software Engineering Trends
In the year 2021, we can observe that some of the most exciting technologies for software
development are becoming commercially practicable, and few are finally going mainstream.
Software development has become more integral to nearly every sector of the world, so
developments and changes in software development have a vast impact on our lives. While we
cannot always accurately predict what lies ahead for tech, there are some trends that we expect to
continue into the new decade. It is predicted that new trends such as machine learning, edge
computing, and artificial intelligence can go mainstream and reach broader adoption. Besides this,
there are trends such as artificial intelligence (AI), IoT, and blockchain, which will have an impact
beyond our understanding. Here in this article, we will be talking about such tremendous software
development trends of the year 2021.

1. Artificial Intelligence and Machine Learning (AI and ML)


2. Robotic Process Automation (RPA)
3. Progressive Web Apps (PWA)
4. Continuous Integration and Continuous Delivery (CI-CD)
5. Digital marketing
6. Low - Code Development
7. Block chain
8. Cognitive Cloud Computing
9. IoT
10. Big Data
11. Angular and React
12. DevOps
13. 5G
14. Edge Computing
15. Mixed Reality
16. Cross – platform development
17. Computer programming languages in 2021

1) Artificial Intelligence and Machine Learning (AI and ML)

Artificial Intelligence

Artificial intelligence is a field of computer science which


makes a computer system that can mimic human
intelligence. It is comprised of two words "Artificial" and
"intelligence", which means "a human-made thinking
power." Hence we can define it as, The Artificial
intelligence system does not require to be pre-
programmed, instead of that, they use such algorithms
which can work with their own intelligence. It involves
machine learning algorithms such as Reinforcement

2
learning algorithm and deep learning neural networks. AI is being used in multiple places such as
Siri, Google?s AlphaGo, AI in Chess playing, etc.

Based on capabilities, AI can be classified into three types:

 Reactive Machines. A.I. makes basic inferences on a topic.


 Limited Memory. A.I. has a memory and can learn.
 Theory of Mind. A.I. begins to interact with the thoughts and emotions of humans.
 Self Aware. A.I. recognizes and negotiates for its own existence.

Machine Learning

Machine learning is an application of artificial intelligence (AI) that provides systems the ability
to automatically learn and improve from experience without being explicitly programmed.
Machine learning focuses on the development of computer programs that can access data and use
it to learn for themselves. The process of learning begins with observations or data, such as
examples, direct experience, or instruction, in order to look for patterns in data and make better
decisions in the future based on the examples that we provide. The primary aim is to allow the
computers learn automatically without human intervention or assistance and adjust actions
accordingly.
But, using the classic algorithms of machine learning, text is considered as a sequence of
keywords; instead, an approach based on semantic analysis mimics the human ability to understand
the meaning of a text.
There are 3 major areas of ML:

 Supervised learning: The learning algorithm is given labeled data and the desired
output. For example, pictures of dogs labeled “dog” will help the algorithm identify the
rules to classify pictures of dogs.
 Unsupervised learning: The data given to the learning algorithm is unlabeled, and the
algorithm is asked to identify patterns in the input data. For example, the

3
recommendation system of an e-commerce website where the learning algorithm
discovers similar items often bought together.
 Reinforcement learning: The algorithm interacts with a dynamic environment that
provides feedback in terms of rewards and punishments. For example, self-driving cars
being rewarded to stay on the road.

2) Robotic Process Automation (RPA)

As technology continues to advance, humankind is finding more efficient ways to use emerging
technology to simplify and eliminate repetitive tasks. One such advancement is the ominously
named robotic process automation, which leverages software to make repetitive tasks a thing of
the past. While RPA is more common in the enterprise realm, small businesses can also utilize this
emergent tech.

What is Robotic Process Automation?

RPA is an application of technology, governed by business logic and structured inputs, aimed at
automating business processes. Using RPA tools, a company can configure software, or a “robot,”
to capture and interpret applications for processing a transaction, manipulating data, triggering
responses and communicating with other digital systems. RPA scenarios range from something as
simple as generating an automatic response to an email to deploying thousands of bots, each
programmed to automate jobs in an ERP system. “Robotic process automation (RPA) is an
emerging form of clerical process automation technology based on the notion of software robots
or artificial intelligence (AI) workers.
How does robotic process automation work?

RPA is not powered by artificial intelligence, it needs some level of human interaction to work.
It's after that initial setup that the magic happens. To get RPA working, a person must first teach
it the actions that will be automated on the computer or virtual machine. Whenever an application
is opened, a mouse click is initiated, a new task is started, or some other action is taken in an
application, an RPA can be taught to do those same actions as a set of programmable rules and
instructions. After each step is mapped out, the program can run those manual tasks back,
recreating each action with incredible speed and precision.
While RPA by itself is not considered AI, the two can work in tandem to pick up how an employee
completes certain tasks. Through the inclusion of intelligent bots, RPA software can actively

4
follow a person's actions on a computer. Once enough data is collected, the bot and the RPA it's
attached to can begin handling whatever processes it needs to do by itself.
In both instances, RPA needs some form of data input to mimic. Once it gets that data, however,
it's off to the races with those tasks, freeing up precious resources to be allocated elsewhere within
your company. Both explanations are at the very basic level of how RPA works, since this kind of
software can handle as many as simple or complex processes as you need it to, based on the actions
you want to automate.

Possible activities / tasks of RPA

RPA bots can use the operating system applications like a human user. Bots are capable of these
but please note that this is not a comprehensive list. RPA is too flexible for us to provide a full list
of bot actions.

 Launching and using various applications including


o Opening emails and attachments
o Logging into applications
o Moving files and folders
 Integrating with enterprise tools by
o Connecting to system APIs
o Reading and writing to databases
 Augmenting your data by
o Scraping data from the web including social media
 Data processing
o Following logical rules such as “if/then” rules
o Making calculations
o Extracting data from documents
o Inputting data to forms
o Extracting and reformatting data into reports or dashboards
o Merging data from multiple sources
o Copying and pasting data

Types of RPA

 Programming options: RPA bots need to be programmed and there are a few ways to
program bots which involve trade-offs between complexity of bots and programming
time
 Cognitive capabilities: Programmed bots need to have cognitive capabilities to
determine their actions based on inputs they gather from other systems. RPA tools
provide a range of cognitive capabilities
 Usage: Bots serve specific functions. Though most RPA tools can be used to build bots
that serve all these functions, some tools are more optimized for attended or unattended
automation. While unattended automation is batch-like background processes, in attended
automation users, for example customer service reps, invoke bots like invoking macros.

5
Benefits of robotic process automation?

Reduced costs
Automation in its many forms is well known for its ability to cut operating costs as a sort of digital
workforce. If you no longer need an employee to handle a certain task because of automation, you
are spending less money on that task. Similarly, RPA can cut costs that can be due to human error,
since the software will handle its functions accurately as long as it was taught correctly.

More engaged employees


Doing repetitive tasks for hours on end can be a mentally and emotionally draining experience.
Implementing an RPA robot to handle boring tasks frees up employees to work on more engaging
activities that increase their attentiveness, boost morale and, in the case of businesses that regularly
deal with the public, provide a better overall customer experience.

Easy, flexible implementation


Since RPA mimics a person's actions when completing tasks, programming it is relatively easy.
No coding knowledge is necessary, and it can easily transfer from one task to another. As
businesses grow, RPA can scale with them to meet their changing needs.

Interoperability with legacy systems


Since RPA mimics a person's actions on a computer, it does not replace any existing software to
function. Operating as a virtual employee, a well-trained RPA can leverage all existing technology
on your company's computers to complete tasks.

RPA Tools
 Automation Anywhere
 Blue Prism
 Zapier

3) Progressive Web Apps (PWA)


Progressive Web Apps are web apps that use
emerging web browser APIs and features along
with traditional progressive enhancement strategy
to bring a native app-like user experience to cross-
platform web applications. Progressive Web Apps
are a useful design pattern, though they aren't a
formalized standard. PWA can be thought of as similar to AJAX or other similar patterns that
encompass a set of application attributes, including use of specific web technologies and
techniques. This set of docs tells you all you need to know about them. PWA features narrow the
gap between user experience in web-based and native applications.

6
In order to call a Web App a PWA, technically speaking it should have the following features:
Secure contexts (HTTPS), one or more Service Workers, and a manifest file.

Secure contexts (HTTPS)


The web application must be served over a secure network. Being a secure site is not only a best
practice, but it also establishes your web application as a trusted site especially if users need to
make secure transactions. Most of the features related to a PWA such as geolocation and even
service workers are available only once the app has been loaded using HTTPS.

Service workers
A service worker is a script that allows intercepting and control of how a web browser handles its
network requests and asset caching. With service workers, web developers can create reliably fast
web pages and offline experiences.

Manifest file
A JSON file that controls how your app appears to the user and ensures that progressive web apps
are discoverable. It describes the name of the app, the start URL, icons, and all of the other details
necessary to transform the website into an app-like format.

Progressive web apps are designed to work on any browser that is compliant with the appropriate
web standards. As with other cross-platform solutions, the goal is to help developers build cross-
platform apps more easily than they would with native apps. The characteristics of a PWA are:

 Progressive. By definition, a progressive web app must work on any device and enhance
progressively, taking advantage of any features available on the user’s device and
browser.
 Discoverable. Because a progressive web app is a website, it should be discoverable in
search engines. This is a major advantage over native applications, which still lag behind
websites in searchability.
 Linkable. As another characteristic inherited from websites, a well-designed website
should use the URI to indicate the current state of the application. This will enable the
web app to retain or reload its state when the user bookmarks or shares the app’s URL.
 Responsive. A progressive web app’s UI must fit the device’s form factor and screen
size.
 App-like. A progressive web app should look like a native app and be built on the
application shell model, with minimal page refreshes.
 Connectivity-independent. It should work in areas of low connectivity or offline (our
favorite characteristic).
 Re-engageable. Mobile app users are more likely to reuse their apps, and progressive
web apps are intended to achieve the same goals through features such as push
notifications.
 Installable. A progressive web app can be installed on the device’s home screen, making
it readily available.
 Fresh. When new content is published and the user is connected to the Internet, that
content should be made available in the app.

7
 Safe. Because a progressive web app has a more intimate user experience and because all
network requests can be intercepted through service workers, it is imperative that the app
be hosted over HTTPS to prevent man-in-the-middle attacks.

Benefits of a PWA

 You don’t have to go through the process to get into different app stores
 You can build PWAs with common web technologies
 They are often cheaper to build
 Since you’re turning your site into an app, you’ll have fewer code-bases to maintain
 PWAs are responsive and work with many different screen sizes
 PWAs are smooth, fast and lightweight
 No need to hand off big chunks of money to Google and Apple
 They work offline, unlike your regular site
 PWAs are discoverable via search engines (which have a lot larger audience than app
stores. Plus, if you want you can still get your PWAs distributed via app stores)
 You can use push notifications to re-engage users
 Installing a PWA can lead to higher engagement

4) Continuous Integration and Continuous Delivery (CI-CD)


CI/CD is a way of developing software in which you’re able to release updates at any time in a
sustainable way. When changing code is routine, development cycles are more frequent,
meaningful and faster.

Continuous Integration

Continuous integration refers to the build or integration phase of software release. It involves
developers regularly merging their code into a central code repository which triggers build and
tests. The goal of continuous integration is to find &fix bugs quicker, improve software quality,
and reduce the time it takes to validate and release new software features. There are two important
components:
Automation — Automation of build & test process including recovering from failures. the
intention is to make the CI process boring, simple, and fast. This means developers have more time
to build new features, test and merge.
8
Cultural and mindset shift — This is an important aspect of DevOps. Traditionally developers
in a team used to develop code for a long period of time and merge changes to code repository in
one shot. This makes merging changes difficult and time-consuming. There are more chances for
integration failures and bugs remain for a longer time without a fix. This makes it harder to deliver
software faster. On the other hand, frequent integrations mean fewer integration issues, and bugs
are fixed immediately.

 Your team will need to write automated tests for each new feature, improvement or bug
fix.
 You need a continuous integration server that can monitor the main repository and run
the tests automatically for every new commits pushed.
 Developers need to merge their changes as often as possible, at least once a day.
 Less bugs get shipped to production as regressions are captured early by the automated
tests.
 Building the release is easy as all integration issues have been solved early.
 Less context switching as developers are alerted as soon as they break the build and can
work on fixing it before they move to another task.
 Testing costs are reduced drastically – your CI server can run hundreds of tests in the
matter of seconds.
 Your QA team spend less time testing and can focus on significant improvements to the
quality culture.

Continuous Delivery

Continuous delivery is an extension to continuous integration where code changes are


automatically prepared in the form of build artifact ready for deployment. Ready-made artifacts
can be deployed to test environments for further testing or deployed to a production
environment. This whole integration ensures standardized code is tested thoroughly and is
always deployment ready. It also ensures code integrity since the same code is deployed across
different stages. Another benefit is the ability to deploy the same code across multiple machines
with a single click.

9
 You need a strong foundation in continuous integration and your test suite needs to cover
enough of your codebase.
 Deployments need to be automated. The trigger is still manual but once a deployment is
started there shouldn't be a need for human intervention.
 Your team will most likely need to embrace feature flags so that incomplete features do
not affect customers in production.
 The complexity of deploying software has been taken away. Your team doesn't have to
spend days preparing for a release anymore.
 You can release more often, thus accelerating the feedback loop with your customers.
 There is much less pressure on decisions for small changes, hence encouraging iterating
faster.

CI/CD Pipeline

CI/CD pipeline is the process to automate the entire software delivery process. Right from
committing code to central repositories, running test cases, building packages, and deploying code
to test or production environment. There is no single order of setting up CI/CD pipeline however
based on the deployment model your organization is choosing there will be best practices.
CI/CD is more like plug and play. It has different components that can be used in any manner.
There are many open-source and paid services that can be used individually for each stage listed
above. As an example, below is one form of pipeline.

CI-CD Benefits

 Improve productivity: Free up developer bandwidth by automating manual steps in


build and test. More frequent commit ensures code issues are fixed promptly.
 Fix bugs quicker: Frequent commit and testing ensures issues are found and fixed
sooner before becoming a large issue.
 Faster and frequent release: Continuous integration helps the team to release more
features frequently to production.
 Standardization: Testing code for standardized test cases including regression and
integration tests ensures that code adheres to mandatory checks.
 Automate software release process: Continuous delivery helps in deploying ready-
made build artifacts from the continuous integration pipeline and deliver updates &
features faster.

10
 Improve productivity: Helps teams to be more productive by freeing developers from
manual tasks and encouraging behaviors that help reduce the number of errors and bugs
deployed to production.
 Fix bugs quicker: Continuous delivery lets your team easily perform additional types of
tests on your code because the entire process has been automated.
 Deliver features faster: Continuous delivery helps your team deliver updates to
customers faster and more frequently. When implemented properly, you will always have
a deployment-ready build artifact that has passed through a standardized test process.

5) Digital marketing

What is digital marketing?

Digital marketing is a form of marketing for promoting and selling products or services on the
Internet. It’s the process of leveraging different online marketing channels like search engines,
social media networks, and email to reach your target audience. Through digital marketing, you
can find people interested in your offering, interact with them, and build trust with your brand.
Digital marketing has a number of types,
the most important are website marketing,
search engine optimization, content
marketing, PPC advertising, social media
marketing, email marketing, video
marketing, and affiliate marketing.

How Digital Marketing Works?

First, you need to specify your digital


marketing goals. i.e. what you want to
achieve with digital marketing. Some
common examples are: to increase brand
awareness, to make more sales, or to grow your community. Then you need to decide which
marketing channels can help you achieve your goals. For example, if your goal is to make more
sales then running paid campaigns on Google and Facebook is a good starting point. To make the
whole process easier to manage, you can create a plan specifying how much money you’ll spend,
define your target audience, define your performance metrics, and other information that will help
you control the process.

Digital Marketing Assets

Almost anything can be a digital marketing asset. It simply needs to be a marketing tool you use
online.
 Your website
 Branded assets (logos, icons, acronyms, etc)
 Video content (video ads, product demos, etc)

11
 Images (infographics, product shots, company photos, etc)
 Written content (blog posts, eBooks, product descriptions, testimonials, etc)
 Online products or tools (SaaS, calculators, interactive content, etc)
 Reviews
 Social media pages

Digital marketing channels

Digital marketing has a number of channels grouped into two major categories. Online marketing
channels and offline marketing channels. The main difference between the two is that online
marketing channels are based solely on the Internet while offline marketing channels have to do
with digital devices that are not necessarily connected to the Internet.

Online Marketing Channels


 Website Marketing
 Search Engine Optimization
 Pay-Per-Click Advertising
 Content Marketing
 Email Marketing
 Social Media Marketing
 Affiliate Marketing
 Inbound Marketing
 Mobile Marketing
 Video Marketing

Offline marketing channels


 TV Marketing
 SMS Marketing
 Radio Marketing
 Billboard Marketing

What is a digital marketing strategy?

A digital marketing strategy is a detailed plan on how you can utilize the different digital marketing
channels to achieve your business goals.
When you design a digital marketing strategy you need to consider which channels to use, the
resources (people, time, and money) to assign to each channel, and what to expect in terms of
results.
Search Engine Optimization (SEO)
This is the process of optimizing your website to "rank" higher in search engine results pages,
thereby increasing the amount of organic (or free) traffic your website receives. The channels that
benefit from SEO include websites, blogs, and infographics.
There are a number of ways to approach SEO in order to generate qualified traffic to your website.
These include:

12
 On page SEO: This type of SEO focuses on all of the content that exists "on the page"
when looking at a website. By researching keywords for their search volume and intent
(or meaning), you can answer questions for readers and rank higher on the search engine
results pages (SERPs) those questions produce.
 Off page SEO: This type of SEO focuses on all of the activity that takes place "off the
page" when looking to optimize your website. "What activity not on my own website
could affect my ranking?" You might ask. The answer is inbound links, also known as
backlinks. The number of publishers that link to you, and the relative "authority" of those
publishers, affect how highly you rank for the keywords you care about. By networking
with other publishers, writing guest posts on these websites(and linking back to your
website), and generating external attention, you can earn the backlinks you need to move
your website up on all the right SERPs.
 Technical SEO: This type of SEO focuses on the backend of your website, and how your
pages are coded. Image compression, structured data, and CSS file optimization are all
forms of technical SEO that can increase your website's loading speed — an important
ranking factor in the eyes of search engines like Google.

Pay-Per-Click (PPC) Advertising

PPC advertising gives you the ability to reach internet users on a number of networks through paid
ads. You can set up PPC campaigns on Google, Bing, Linkedin, Twitter, Pinterest, or Facebook
and show your ads to people searching for terms related to your products or services.
PPC campaigns can segment users based on their demographic characteristics (age, gender, etc)
or even their particular interests or location. Every time a user clicks on your ads, you pay a fee to
the provider (and thus the term pay per click). The most popular PPC platforms are Google Ads
and Facebook.

Content Marketing

Content marketing is all about the content. The digital world is a huge collection of content in
different forms like text, images, audio, and video. The goal of a content marketing campaign is
to reach potential customers through the use of content. Content is usually published on a website
and then promoted through social media, email marketing, SEO, or even PPC campaigns. The
difference between having a blog versus running a content marketing campaign is that the latter
has specific goals as to what content to publish and when to publish it, who to target, and how to
monitor the effectiveness of your content campaigns.
The main tools of content marketing are:

 Blogs
 eBooks
 Online Courses
 Infographics
 Podcasts
 Webinars

13
Affiliate Marketing

This is a type of performance-based advertising where you receive commission for promoting
someone else's products or services on your website. Affiliate marketing channels include:
Hosting video ads through the YouTube Partner Program.
Posting affiliate links from your social media accounts.

Social Media Marketing

This practice promotes your brand and your content on social media channels to increase brand
awareness, drive traffic, and generate leads for your business. The channels you can use in social
media marketing include:

 Facebook.
 Twitter.
 LinkedIn.
 Instagram.
 Snapchat.
 Pinterest.

Mobile Marketing

Mobile marketing refers to the process of reaching customers in the different mobile app stores
such as Google Play, Apple app store, or Amazon marketplace.
These app stores have thousands of apps and millions of users per day. With mobile marketing,
you can promote your apps either through paid advertising or through other methods (cross-app
promotions, etc.), so that they can be seen and installed by more users.

B2B Digital Marketing


If your company is business-to-business (B2B), your digital marketing efforts are likely to be
centered around online lead generation, with the end goal being for someone to speak to a
salesperson. For that reason, the role of your marketing strategy is to attract and convert the
highest quality leads for your salespeople via your website and supporting digital channels.
Beyond your website, you'll probably choose to focus your efforts on business-focused channels
like LinkedIn where your demographic is spending their time online.

B2C Digital Marketing


If your company is business-to-consumer (B2C), depending on the price point of your products,
it's likely that the goal of your digital marketing efforts is to attract people to your website and
have them become customers without ever needing to speak to a salesperson.

For that reason, you're probably less likely to focus on ‘leads' in their traditional sense, and more
likely to focus on building an accelerated buyer's journey, from the moment someone lands on
your website, to the moment that they make a purchase. This will often mean your product
features in your content higher up in the marketing funnel than it might for a B2B business, and
you might need to use stronger calls-to-action (CTAs).

14
For B2C companies, channels like Instagram and Pinterest can often be more valuable than
business-focused platforms LinkedIn.

Benefits of Digital Marketing

 You can target only the prospects most likely to purchase your product or service.
 It's more cost-effective than traditional marketing methods.
 Digital marketing lets you outrank bigger players in your industry.
 Digital marketing is measurable.

6) Low - Code Development

What is Low-Code development?

Low-code is a software
development approach that
enables the delivery of
applications faster and with
minimal hand-coding. Low-code
platforms are a collection of
tools that enable the visual
development of applications
through modeling and a
graphical interface. Low-code
enables developers to skip hand-
coding, speeding up the process
of getting an application to production.
A low-code development platform (LCDP) provides a development environment used to create
application software through graphical user interfaces and configuration instead of traditional
hand-coded computer programming. A low-code model enables developers of varied experience
levels to create applications using a visual user interface in combination with model-driven logic.
Such platforms may produce entirely operational applications, or require additional coding for
specific situations. Low-code development platforms reduce the amount of traditional hand
coding, enabling accelerated delivery of business applications. A common benefit is that a wider
range of people can contribute to the application's development—not only those with formal
programming skills. LCDPs can also lower the initial cost of setup, training, deployment and
maintenance.

Benefits of low-code development

 Rapidly deliver apps that your business needs with the existing talent.
 Improve developer productivity with low-code attributes, such as a development toolkit
(based on developer experience), a visual user interface, reusable components, and more.
 Enable faster decision making among cross-functional teams with baked-in collaboration
tools.

15
 Develop a variety of solutions ranging from process automation apps to mission-critical
systems modernization, without incurring heavy costs.
 Deliver continuous improvements to end-users with engaging web, mobile,
conversational, or immersive experiences.
 Build maintainable solutions that are easy to scale on cloud-native architecture.
 Break down silos to foster a strong business-IT partnership.
 Empower more developers throughout the organization to build applications and
contribute.
 Stay agile to respond quickly to changing business and customer needs.

Improved Agility
In the long run, apps built with low-code platforms help organizations become more agile. Visual
design that allows drawing instead of coding can exponentially speed development. Combine less
coding with automated testing? That’s how you can build apps faster than ever before.

Decreased Costs
With the ability to build more apps in less time, costs decrease. But, that’s not the only driver.
Low-code development reduces the need for more developers, reducing hiring costs. And, the right
low-code platform can make everyone in the organization—not just IT—more productive.

Higher Productivity
Low-code development allows more apps to be built in less time. What used to take months can
be reduced to days…even minutes. With low-code development, time is no longer a barrier to real
innovation.

Better Customer Experience


Low-code development impacts more than the IT organization. The downstream effects of
increased speed include a better customer experience. With low-code development, organizations
can quickly adapt to market changes or customer needs.

Effective Risk Management and Governance


With ever-changing regulations, not to mention the sheer scale of them globally, how can your
organization keep up? Low-code development allows for fast change so you can meet requirements
and stay ahead of deadlines.

Change Easily
Low-code development makes changing apps…adapting them to suit new requirements…easy.
Without a need to get into complex coding, low-code development facilitates immediate change
when it’s called for.

Faster Transformation
In today’s digital world, a transformation is needed. Low-code development removes complexity
from building great, modern business apps. And, reduced complexity means smoother sailing.

What Is a Low-Code Platform?

16
A low-code platform is a family of tools that enables the development and delivery of complete
applications visually. A drag-and-drop interface is at the core of low-code platforms. Rather than
writing thousands of lines of complex code and syntax, you can use low-code to build complete
applications with modern user interfaces, integrations, data and logic quickly and visually.
Applications are delivered faster and with minimal hand-coding.

 A visual IDE: An environment for visually defining the UIs, workflows, and data models
of your application and, where necessary, adding hand-written code.
 Connectors to various back-ends or services: Automatically handles data structures,
storage, and retrieval.
 Application lifecycle manager: Automated tools for building, debugging, deploying,
and maintaining the application in test, staging, and production.

Low-Code Features

From construction to deployment, a low-code development environment dramatically reduces the


amount of time required to build, deploy, and change cutting-edge, powerful enterprise apps.
Visual modeling toolsCreating apps using visual methods and models is faster than developing
using code. Powered with visual modeling capabilities, low-code platforms use built-in
components to represent any information in a form that is readable to anyone – from regular
business users with no tech skills to professional developers.

 Drag-and-drop interfaces
Typing out long strands of code to produce is not only difficult, but also extremely time consuming.
Low-code allows simple drag-and-drop so developers can create applications visually, resulting in
faster time-to-launch.

 Instant mobility
Build one, deploy everywhere. With the explosion of mobile devices like cell phones and tablets,
applications must have cross-platform functionality standard in their design. With low-code
development it should all happen behind the scenes automatically, with no extra effort, coding, or
resources.

 Declarative Tools
With low-code software, declarative tools are implemented through things like visual models and
business rules. Removing the need to write custom-coding for these mitigates the difficulty of
future changes or additions and speeds development times.

 Security and Scalability


Low-code development has had its knocks…mainly when it comes to security and scalability.
While initially, low-code development was focused on smaller, departmental, and less critical
capabilities, today’s low-code should be enterprise-grade. The right platform has all the necessary
security certifications in place, and proven experience with large-scale initiatives.

17
The Low-Code Development Process

The 9 principles of low-code development

 Model-Driven Development
 The Cloud
 Experimentation & Innovation
 IT-Business Collaboration
 Openness
 Governance & Control
 Agility
 Multi-User Development

7) Block Chain

What is Block Chain?

Blockchain technology is a structure that stores transactional records, also known as the block, of
the public in several databases, known as the “chain,” in a network connected through peer-to-peer
nodes. Typically, this storage is referred to as a ‘digital ledger.’ Every transaction in this ledger is
authorized by the digital signature of the owner, which authenticates the transaction and safeguards
it from tampering. Hence, the information the digital ledger contains is highly secure.
In simpler words, the digital ledger is like a Google spreadsheet shared among numerous
computers in a network, in which, the transactional records are stored based on actual purchases.
The fascinating angle is that anybody can see the data, but they can’t corrupt it.
Business runs on information. The faster it’s received and the more accurate it is, the better.
Blockchain is ideal for delivering that information because it provides immediate, shared and
completely transparent information stored on an immutable ledger that can be accessed only by

18
permissioned network members. A blockchain network can track orders, payments, accounts,
production and much more. And because members share a single view of the truth, you can see all
details of a transaction end-to-end, giving you greater confidence, as well as new efficiencies and
opportunities.

Key elements of a blockchain

 Distributed ledger technology


All network participants have access to the distributed ledger and its immutable record of
transactions. With this shared ledger, transactions are recorded only once, eliminating the
duplication of effort that’s typical of traditional business networks.
 Immutable records
No participant can change or tamper with a transaction after it’s been recorded to the shared ledger.
If a transaction record includes an error, a new transaction must be added to reverse the error, and
both transactions are then visible.
 Smart contracts
To speed transactions, a set of rules — called a smart contract — is stored on the blockchain and
executed automatically. A smart contract can define conditions for corporate bond transfers,
include terms for travel insurance to be paid and much more.

Types of blockchain networks

 Public blockchain networks


A public blockchain is one that anyone can join and participate in, such as Bitcoin. Drawbacks
might include substantial computational power required, little or no privacy for transactions, and
weak security. These are important considerations for enterprise use cases of blockchain.

 Private blockchain networks


A private blockchain network, similar to a public blockchain network, is a decentralized peer-to-
peer network. However, one organization governs the network, controlling who is allowed to
participate, execute a consensus protocol and maintain the shared ledger. Depending on the use

19
case, this can significantly boost trust and confidence between participants. A private blockchain
can be run behind a corporate firewall and even be hosted on premises.

 Hybrid blockchains
A hybrid blockchain has a combination of centralized and decentralized features. The exact
workings of the chain can vary based on which portions of centralization decentralization are used.

 Sidechains
A sidechain is a designation for a blockchain ledger that runs in parallel to a primary blockchain.
Entries from the primary blockchain (where said entries typically represent digital assets) can be
linked to and from the sidechain; this allows the sidechain to otherwise operate independently of
the primary blockchain (e.g., by using an alternate means of record keeping, alternate consensus
algorithm, etc.).

Advantages of Block Chain Technology

 Highly Secure
It uses a digital signature feature to conduct fraud-free transactions making it impossible to
corrupt or change the data of an individual by the other users without a specific digital signature.
 Decentralized System
Conventionally, you need the approval of regulatory authorities like a government or bank for
transactions; however, with Blockchain, transactions are done with the mutual consensus of users
resulting in smoother, safer, and faster transactions.
 Automation Capability
It is programmable and can generate systematic actions, events, and payments automatically
when the criteria of the trigger are met.

Uses of Block Chain

 Cryptocurrencies
Most cryptocurrencies use blockchain technology to record transactions. For example, the bitcoin
network and Ethereum network are both based on blockchain. On 8 May 2018 Facebook confirmed
that it would open a new blockchain group which would be headed by David Marcus, who
previously was in charge of Messenger. Facebook's planned cryptocurrency platform, Libra (now
known as Diem), was formally announced on June 18, 2019.

 Smart contracts
Blockchain-based smart contracts are proposed contracts that can be partially or fully executed or
enforced without human interaction. One of the main objectives of a smart contract is automated
escrow. A key feature of smart contracts is that they do not need a trusted third party (such as a
trustee) to act as an intermediary between contracting entities -the blockchain network executes
the contract on its own. This may reduce friction between entities when transferring value and
could subsequently open the door to a higher level of transaction automation. An IMF staff
discussion reported that smart contracts based on blockchain technology might reduce moral
hazards and optimize the use of contracts in general. But "no viable smart contract systems have
yet emerged." Due to the lack of widespread use their legal status is unclear.

20
 Anti-counterfeiting
Blockchain could be used in detecting counterfeits by associating unique identifiers to products,
documents and shipments, and storing records associated to transactions that cannot be forged or
altered. It is however argued that blockchain technology needs to be supplemented with
technologies that provide a strong binding between physical objects and blockchain systems. The
EUIPO established an Anti-Counterfeiting Blockathon Forum, with the objective of "defining,
piloting and implementing" an anti-counterfeiting infrastructure at the European level. The Dutch
Standardisation organisation NEN uses blockchain together with QR Codes to authenticate
certificates.

 Health Care
In response to the 2020 COVID-19 pandemic, The Wall Street Journal reported that Ernst & Young
was working on a blockchain to help employers, governments, airlines and others keep track of
people who have had antibody tests and could be immune to the virus. Hospitals and vendors also
utilized a blockchain for needed medical equipment. Additionally, blockchain technology was
being used in China to speed up the time it takes for health insurance payments to be paid to health-
care providers and patients.

 Video games
A blockchain game CryptoKitties, launched in November 2017. The game made headlines in
December 2017 when a cryptokitty character - an in-game virtual pet - was sold for more than
US$100,000. CryptoKitties illustrated scalability problems for games on Ethereum when it created
significant congestion on the Ethereum network with about 30% of all Ethereum transactions being
for the game. CryptoKitties also demonstrated how blockchains can be used to catalog game assets
(digital assets).

 Energy trading
Blockchain is also being used in peer-to-peer energy trading.

8) Cognitive Cloud Computing


What is Cognitive Cloud Computing?

Cognitive computing is the use of computerized models to simulate the human thought process in
complex situations where the answers may be ambiguous and uncertain. The phrase is closely
associated with IBM's cognitive computer system, Watson. Cognitive computing overlaps with AI
and involves many of the same underlying technologies to power cognitive applications, including
expert systems, neural networks, robotics and virtual reality (VR).

How cognitive computing works


Cognitive computing systems can synthesize data from various information sources, while
weighing context and conflicting evidence to suggest the best possible answers. To achieve this,
cognitive systems include self-learning technologies that use data mining, pattern recognition and
natural language processing (NLP) to mimic the way the human brain works. Using computer

21
systems to solve the types of problems that humans are typically tasked with requires vast amounts
of structured and unstructured data, fed to machine learning algorithms. Over time, cognitive
systems are able to refine the way they identify patterns and the way they process data to become
capable of anticipating new problems and model possible solutions. To achieve those capabilities,
cognitive computing systems must have five key attributes, as listed by the Cognitive Computing
Consortium.

Adaptive: Cognitive systems must be flexible enough to learn as information changes and as goals
evolve. The systems must be able to digest dynamic data in real time and make adjustments as the
data and environment change.

Interactive: Human-computer interaction (HCI) is a critical component in cognitive systems.


Users must be able to interact with cognitive machines and define their needs as those needs
change. The technologies must also be able to interact with other processors, devices and cloud
platforms.

Iterative and stateful: Cognitive computing technologies can also identify problems by asking
questions or pulling in additional data if a stated problem is vague or incomplete. The systems do
this by maintaining information about similar situations that have previously occurred.

Contextual: Understanding context is critical in thought processes, and so cognitive systems must
also understand, identify and mine contextual data, such as syntax, time, location, domain,
requirements, a specific user's profile, tasks or goals. They may draw on multiple sources of
information, including structured and unstructured data and visual, auditory or sensor data.

Features of Cognitive Cloud

1. Automated Pattern Discovery – It helps to monitor and analyze big data. it reduces time and
cost.
2. Connectors – Pre-install apps like SQL Server, Salesforce, HANA, Oracle, MYSQL,
Postgres, and Hive to collect data sources.

22
3. Automated Machine Learning – Cognitive cloud hosting accelerates the application process
in your company.
4. Cognitive & Predictive Apps – It gives a predictive analytics app that solves issues in
companies.
5. Real-Time Analysis Capabilities – It stores the data, processes the data, analyzes the data in
real-time from the sensor logs, etc.

Benefits of Cognitive Cloud Computing –


There are some of the major business benefits of cognitive computing.
1. Increased customer experience – As IBM did a survey 49% of companies help to improve
customer engagement and service. It helps companies to improve customer experience by
enabling cognitive applications.
2. Enhanced Productivity – As cognitive computing works like a human brain it helps to
enhance productivity and quality of outcomes.
3. Business Growth – As per the study by IDC, 1.7 MB of data is generated by each person on
the planet. Cognitive cloud help company to analyze the dark data to identify the proper markets
for expansion, new product to launch, and etc.
4. Increased Operational Efficiency – According to the study Cognitive computing technology
helps to find cracks in airplane engine blades, improve service on its highly engineered jets, and
etc.

9) IoT (Internet Of Things)


What is IoT?

The Internet of Things, or IoT, refers


to the billions of physical devices
around the world that are now
connected to the internet, all
collecting and sharing data. Thanks to
the arrival of super-cheap computer
chips and the ubiquity of wireless
networks, it's possible to turn
anything, from something as small as
a pill to something as big as an
aeroplane, into a part of the IoT.
Connecting up all these different
objects and adding sensors to them
adds a level of digital intelligence to devices that would be otherwise dumb, enabling them to
communicate real-time data without involving a human being. The Internet of Things is making
the fabric of the world around us more smarter and more responsive, merging the digital and
physical universes.
Things have evolved due to the convergence of multiple technologies, real-time analytics, machine
learning, commodity sensors, and embedded systems. Traditional fields of embedded systems,
wireless sensor networks, control systems, automation (including home and building automation),

23
and others all contribute to enabling the Internet of things. In the consumer market, IoT technology
is most synonymous with products pertaining to the concept of the "smart home", including
devices and appliances (such as lighting fixtures, thermostats, home security systems and cameras,
and other home appliances) that support one or more common ecosystems, and can be controlled
via devices associated with that ecosystem, such as smartphones and smart speakers. IoT can also
be used in healthcare systems.

How does the IoT work?

The basic elements of the IoT are devices that gather data. Broadly speaking, they are internet-
connected devices, so they each have an IP address. They range in complexity from autonomous
vehicles that haul products around factory floors to simple sensors that monitor the temperature in
buildings. They also include personal devices like fitness trackers that monitor the number of steps
individuals take each day. To make that data useful it needs to be collected, processed, filtered and
analyzed, each of which can be handled in a variety of ways.
Collecting the data is done by transmitting it from the devices to a gathering point. Moving the
data can be done wirelessly using a range of technologies or on wired networks. The data can be
sent over the internet to a data center or a cloud that has storage and compute power or the transfer
can be staged, with intermediary devices aggregating the data before sending it along.
Processing the data can take place in data centers or cloud, but sometimes that’s not an option. In
the case of critical devices such as shutoffs in industrial settings, the delay of sending data from
the device to a remote data center is too great. The round-trip time for sending data, processing it,
analyzing it and returning instructions (close that valve before the pipes burst) can take too long.
In such cases edge-computing can come into play, where a smart edge device can aggregate data,
analyze it and fashion responses if necessary, all within relatively close physical distance, thereby
reducing delay. Edge devices also have upstream connectivity for sending data to be further
processed and stored.

Examples of IoT devices

Essentially, anything that's capable of gathering some information about the physical world and
sending it back home can participate in the IoT ecosystem. Smart home appliances, RFID tags,
and industrial sensors are a few examples. These sensors can monitor a range of factors including
temperature and pressure in industrial systems, status of critical parts in machinery, patient vital
signs, and use of water and electricity, among many, many other possibilities.

Entire factory robots can be considered IoT devices, as can autonomous vehicles that move
products around industrial settings and warehouses.
Other examples include fitness wearables and home security systems. There are also more generic
devices, like the Raspberry Pi or Arduino, that let you build your own IoT end points. Even though
you might think of your smartphone as a pocket-sized computer, it may well also be beaming data
about your location and behavior to back-end services in very IoT-like ways.

IoT communication standards and protocols

24
When IoT gadgets talk to other devices, they can use a wide variety of communications standards
and protocols, many tailored to devices with limited processing capabilities or not much electrical
power. Some of these you've definitely heard of — some devices use Wi-Fi or Bluetooth, for
instance — but many more are specialized for the world of IoT. ZigBee, for instance, is a wireless
protocol for low-power, short-distance communication, while message queuing telemetry
transport (MQTT) is a publish/subscribe messaging protocol for devices connected by unreliable
or delay-prone networks. (See Network World’s glossary of IoT standards and protocols.) The
increased speeds and bandwidth of the coming 5G standard for cellular networks will also benefit
IoT, though that usage will lag behind ordinary cell phones.

Advantages of IoT

Internet of things facilitates the several advantages in day-to-day life in the business sector.
Some of its benefits are given below:
o Efficient resource utilization: If we know the functionality and the way that how each
device work we definitely increase the efficient resource utilization as well as monitor
natural resources.
o Minimize human effort: As the devices of IoT interact and communicate with each
other and do lot of task for us, then they minimize the human effort.
o Save time: As it reduces the human effort then it definitely saves out time. Time is the
primary factor which can save through IoT platform.
o Enhance Data Collection:
o Improve security: Now, if we have a system that all these things are interconnected then
we can make the system more secure and efficient.

Disadvantages of IoT

As the Internet of things facilitates a set of benefits, it also creates a significant set of challenges.
Some of the IoT challenges are given below:
o Security: As the IoT systems are interconnected and communicate over networks. The
system offers little control despite any security measures, and it can be lead the various
kinds of network attacks.
o Privacy: Even without the active participation on the user, the IoT system provides
substantial personal data in maximum detail.
o Complexity: The designing, developing, and maintaining and enabling the large
technology to IoT system is quite complicated.

10) Big Data

What is Data?

The quantities, characters, or symbols on which operations are performed by a computer, which
may be stored and transmitted in the form of electrical signals and recorded on magnetic, optical,
or mechanical recording media.

25
What is Big Data?

Big data refers to the large, diverse sets of information that grow at ever-increasing rates. It
encompasses the volume of information, the velocity or speed at which it is created and collected,
and the variety or scope of the data points being covered (known as the "three v's" of big data).
Big data often comes from data mining and arrives in multiple formats.

 Volume: Organizations collect data from a variety of sources, including business


transactions, smart (IoT) devices, industrial equipment, videos, social media and more. In
the past, storing it would have been a problem – but cheaper storage on platforms like data
lakes and Hadoop have eased the burden.

 Velocity: With the growth in the Internet of Things, data streams in to businesses at an
unprecedented speed and must be handled in a timely manner. RFID tags, sensors and
smart meters are driving the need to deal with these torrents of data in near-real time.

 Variety: Data comes in all types of formats – from structured, numeric data in traditional
databases to unstructured text documents, emails, videos, audios, stock ticker data and
financial transactions.

 Variability: This refers to the inconsistency which can be shown by the data at times, thus
hampering the process of being able to handle and manage the data effectively.

Types of Big Data

 Structured
Structured is one of the types of big data and By structured data, we mean data that can be
processed, stored, and retrieved in a fixed format. It refers to highly organized information that
can be readily and seamlessly stored and accessed from a database by simple search engine
algorithms. For instance, the employee table in a company database will be structured as the
employee details, their job positions, their salaries, etc., will be present in an organized manner.

 Unstructured
Unstructured data refers to the data that lacks any specific form or structure whatsoever. This
makes it very difficult and time-consuming to process and analyze unstructured data. Email is an
example of unstructured data. Structured and unstructured are two important types of big data.

 Semi-structured
Semi structured is the third type of big data. Semi-structured data pertains to the data containing
both the formats mentioned above, that is, structured and unstructured data. To be precise, it refers
to the data that although has not been classified under a particular repository (database), yet
contains vital information or tags that segregate individual elements within the data. Thus we come
to the end of types of data. Lets discuss the characteristics of data.

Applications of Big Data

26
1) Healthcare
Big Data has already started to create
a huge difference in the healthcare
sector. With the help of predictive
analytics, medical professionals and
HCPs are now able to provide
personalized healthcare services to
individual patients. Apart from that,
fitness wearables, telemedicine,
remote monitoring – all powered by
Big Data and AI – are helping change
lives for the better.

2) Academia
Big Data is also helping enhance
education today. Education is no more
limited to the physical bounds of the classroom – there are numerous online educational courses
to learn from. Academic institutions are investing in digital courses powered by Big Data
technologies to aid the all-round development of budding learners.

3) Banking
The banking sector relies on Big Data for fraud detection. Big Data tools can efficiently detect
fraudulent acts in real-time such as misuse of credit/debit cards, archival of inspection tracks, faulty
alteration in customer stats, etc.

4) Manufacturing
According to TCS Global Trend Study, the most significant benefit of Big Data in manufacturing
is improving the supply strategies and product quality. In the manufacturing sector, Big data helps
create a transparent infrastructure, thereby, predicting uncertainties and incompetencies that can
affect the business adversely.

5) IT
One of the largest users of Big Data, IT companies around the world are using Big Data to optimize
their functioning, enhance employee productivity, and minimize risks in business operations. By
combining Big Data technologies with ML and AI, the IT sector is continually powering
innovation to find solutions even for the most complex of problems.

11) Angular and React


React is a Javascript library developed by Facebook which allows you to build UI components. It
facilitates the creation of interactive User Interfaces. It also makes the code easier to understand
and launch. React Java Script framework uses server-side rendering to provide a flexible,
performance-oriented solution.

27
Angular is a structural framework for developing dynamic web apps. It allows developers to use
HTML as a template language and allows HTML's syntax to express the application's components
briefly and clearly. It is a fully featured JavaScript framework that helps developing dynamic,
single page web apps. It also supports the (MVC) programming structure.

Key Features of React


 Allows you to use 3rd party libraries
 Time-Saving
 Simplicity and Composable
 Fully supported by Facebook.
 Better user experience and very fast
performance.
 Faster Development
 Code Stability with One-directional
data binding
 React Components

Key Features of Angular


 Built-in support for AJAX, HTTP, and Observables
 Large community support
 Consistent with technology
 Typescript offers efficiency
 Cleaner and crisp Coding
 Enhanced support for error handling
 Seamless updates using Angular CLI
 Forms and validation
 Shadow DOM / local CSS
 UI and Business Logic Separation

12) DevOps

What is DevOps?

DevOps (a portmanteau of “development” and “operations”) is the combination of practices and


tools designed to increase an organization’s ability to deliver applications and services faster than
traditional software development processes. This speed enables organizations to better serve their
customers and compete more effectively in the market. In simple terms, DevOps is about removing
the barriers between traditionally siloed teams, development and operations. Under a DevOps
model, development and operations teams work together across the entire software application life
cycle, from development and test through deployment to operations.

Benefits of DevOps

 Speed: DevOps practices let you move at the velocity you need to innovate faster, adapt
to changing markets better, and become more efficient at driving business results.

28
 Rapid delivery: When you increase the pace of releases, you can improve your product
faster and build competitive advantage.
 Reliability: DevOps practices like continuous integration and continuous delivery can
ensure the quality of application updates and infrastructure changes so you can reliably
deliver at a more rapid pace while maintaining an optimum experience for end users.
 Improved collaboration. Under a DevOps model, developers and operations teams
collaborate closely, share responsibilities, and combine their workflows. This reduces
inefficiencies and saves time.
 Security: You can adopt a DevOps model without sacrificing security by using automated,
integrated security testing tools.

DevOps and the application lifecycle

13) 5G
What is 5G?
5G is the 5th generation mobile network. It is a new global wireless standard after 1G, 2G, 3G,
and 4G networks. 5G enables a new kind of network that is designed to connect virtually everyone
and everything together including machines, objects, and devices. 5G wireless technology is meant
to deliver higher multi-Gbps peak data speeds, ultra low latency, more reliability, massive network
capacity, increased availability, and a more uniform user experience to more users. Higher
performance and improved efficiency empower new user experiences and connects new industries.

29
5G gives carriers more options in terms of airwaves than 4G did. Most notably, it opens up "high-
band," short-range airwaves that didn't work with 4G technology. But 5G can run on any
frequency, leading to three very different kinds of 5G experiences—low, middle, and high.

The key thing to understand here is that 5G speeds are directly related to how wide the available
channels are, and how many are available. With 4G, you can combine up to seven, 20MHz
channels to use a total of 140MHz of spectrum. Most of the time, though, phones are using 60MHz
or less. With current phones in low- and mid-band 5G, you can combine two 100MHz channels,
for 200MHz usage—and stack three more 20MHz 4G channels on top of that. In high-band 5G,
you can use up to eight 100MHz channels. The great speeds 5G carriers promise are just about
leveraging more airwaves at once. But if you don't have the airwaves available, you don't get the
speeds.

Benefits of 5G

For many end users, the 5G upgrade is all about speed. With predicted 5G speed of up to 10 Gbps,
new networks will be up to 100x faster than their predecessors.1
For industrial, agricultural, and commercial use cases, the biggest benefits of 5G are its high
capacity and minimal lag. With up to 5x the bandwidth available with 4G, 5G will give rise to new
methods of production and distribution. Early tests also show that 5G may cut network latency in
half.

14) EDGE Computing


Edge computing is a networking philosophy focused on bringing computing as close to the source
of data as possible in order to reduce latency and bandwidth use. In simpler terms, edge computing
means running fewer processes in the cloud and moving those processes to local places, such as
on a user’s computer, an IoT device, or an edge server. Bringing computation to the network’s
edge minimizes the amount of long-distance communication that has to happen between a client
and server.

What is the network edge?


For Internet devices, the network edge is where the device, or the local network containing the
device, communicates with the Internet. The edge is a bit of a fuzzy term; for example a user’s

30
computer or the processor inside of an IoT
camera can be considered the network edge,
but the user’s router, ISP, or local edge server
are also considered the edge. The important
takeaway is that the edge of the network is
geographically close to the device, unlike
origin servers and cloud servers, which can be
very far from the devices they communicate
with.

Benefits of edge computing?

Traditionally, cloud computing has focused on centralizing services into a handful of large data
centers. Centralizing allowed resources to be highly scalable and shared more efficiently while
maintaining control and enterprise security.
Edge computing addresses those use cases that can not be adequately addressed by the
centralization approach of cloud computing, often because of networking requirements or other
constraints. It focuses on several small computing sites that reduce network cost, avoid bandwidth
constraints, reduce transmission delays, limit service failures, and better control the movement of
sensitive data. Load times are cut by hundreds of milliseconds and online services deployed closer
to users enable both dynamic and static caching capabilities. For end-users this means a faster,
more consistent user experience. For enterprises and service providers this means low-latency,
highly available apps with real-time monitoring.

15) Mixed Reality


What is Mixed Reality?

Mixed Reality is a blend of physical and digital worlds, unlocking the links between human,
computer, and environment interaction. This new reality is based on advancements in computer
vision, graphical processing power, display technology, and input systems.

Mixed reality spectrum


The Mixed Reality Continuum covers every combination of real and virtual objects and
environments.

31
How different is MR from VR and AR?

It is associated with the use of advanced head-mounted glasses, that allow spatial recognition, and
advanced interactions such as hand interaction, and eye-tracking. It is also often confused with two
other immersive technologies, that are Virtual
Reality, and Augmented Reality. What are they
exactly?

Mixed reality uses


 Education
 Entertainment
 Wearable computers
 Video calls

16) Cross – platform development


What is Cross – platform development?

The idea of cross-platform development is that a software application or product should work well
in more than one specific digital habitat. This capability is typically pursued in order to sell
software for more than one proprietary operating system, such as to accommodate use on both
Microsoft and Apple platforms. With the development of mobile devices and other kinds of
platforms, as well as the proliferation of open-source technologies like Linux, more kinds of cross-
platform development have emerged.
Some of the fundamental strategies for
cross-platform development include
compiling different versions of the
same program for different operating
systems, or in other cases, the use of
sub-tree files to apply or fit the product
to different operating systems. Another
major approach is to make the program
abstract at certain levels in order to
accommodate different software
environments. Software like this can
be said to be "platform agnostic" in that
it doesn't value or support one platform
over another. Developers can also use application programming interfaces (APIs) to adjust a piece
of software to a specific platform.
In general, cross-platform development can make a program less efficient. For example, it can
require redundant processes or file storage folders for the various systems that it's supposed to
support. It may also require that a program be "dumbed down" to accommodate less sophisticated
software environments. However, in many cases, the makers of software figured out that the

32
limitations of cross-platform development are worth dealing with in order to offer an application
or product to a wider set of users.

Native App – Cross Platform Development – Using tools like React Native, Xamarin, or
NativeScript, you end up with an app that still uses native APIs which allows for excellent
performance across all platforms, without having to code each separately. This results in a very
nice app that runs well and is a great compromise over the time and expense of building a native
app.

Hybrid Apps – Cross Platform Development – Hybrid development is a tier lower than native
cross platform development. It relies on a built in web browser and HTML 5, CSS, and Javascript
to render the app. The app is coded and then rendered on the smartphone inside an app container
which is driven by an internal web browser. In hybrid apps, developers program using native web
languages but wrap it in a native wrapper for each operating system, thus rendering it usable across
multiple platforms. This can work OK for simple apps but in more complex apps, performance
could be an issue.

Benefits of Cross Platform Development

 Expenses are reduced as the need to code in two or three separate languages disappears.
In addition bugs that are present in the common code base need only be fixed once (for
the most part).
 Time to market is reduced since developing one program takes a lot less time than
building two or three apps for each device platform.
 Uniformity increases between different operating systems creating a more seamless user
experience.
 Companies are able to reach many more customers right from the get-go which increases
exposure and future ROI.
 The development tools are familiar as they employ common programming languages.
 It is ideal for prototyping because it allows a faster time to market on more than one
platform and allows the owner to collect user feedback, establish a position in the market
and secure any patents if necessary, before another company can do the same.

17) Computer programming languages in 2021

Whether you want to develop a mobile application, get certification for programming knowledge,
or learn new skills, you need to learn the right programming language. Below you’ll learn about
popular programming languages that will be in demand among employers in 2021.

 Python
For people just starting out with computer science in 2021, and even for those with some
experience with this language, Python is something every programmer should be comfortable with.
This language offers an intuitive and easy-to-learn syntax that makes it a popular choice among
beginners and professionals alike. The beauty of Python is that it is extremely versatile, as it can
almost be used anywhere. Whether you want to work on some back-end application of a website

33
or mobile application, or you want to on
some data science-related work, Python is
critical to these tasks and many more.
Python is the preferred language in the
areas of machine learning, deep learning,
artificial intelligence, and other data
science fields. Data science is the hottest
topic these days, as businesses and
companies are now extracting insights
from data analysis and using that to
further grow their markets. Libraries,
such as TensorFlow, Keras, Scikit, etc.,
have made the computation required for
running different models extremely cheap
and fast to execute.

 JavaScript
JavaScript is one of the most widely used languages, as it is considered the standard programming
language of the web. It is used in almost every website you have seen on the Internet. JavaScript
provides a syntax that allows it to be used in both the front-end and back-end sections of websites,
showing the flexibility and power that it possesses. In addition to HTML and CSS, JavaScript
offers a way that allows users to not only develop and design their websites but also make their
websites more dynamic by adding functionalities to the elements present in the site. Moreover,
Javascript is also the fundamental language used in web frameworks, such as React, Vue, and
Node, making it the undisputed king in the web development department. Websites that you
regularly visit, such as Google, YouTube, and Wikipedia, were all created using JavaScript.

 Swift
If you’re interested in Apple products and mobile app development, Swift is a good place to start.
First announced by Apple in 2014, Swift is a relatively new programming language used to develop
iOS and macOS applications.

Swift has been optimized for performance and built from the ground up to match the realities of
modern iOS development. Not only does iOS run on every iPhone and iPad, but it’s also the basis
for other operating systems such as watchOS (for Apple Watches) and tvOS (for Apple TVs). In
addition, Apple isn't going anywhere as a tech industry leader, and iOS apps continue to be the
most profitable in the mobile app marketplace.

 Elm
One of the youngest languages on our list, what began as a Harvard student’s thesis has now grown
to become a point of passion for front-end developers around the world. Elm compiles to
JavaScript, making it ideal for building fast-executing UIs with zero errors at runtime. Elm is a
functional programming language, allowing developers to create client-side interfaces without the
declarative trappings of HTML and CSS. Furthermore, the Elm web architecture was the
intellectual inspiration for Redux, the state-management library taught here at Fullstack.

34
References:
[1][Link]/rpa/
[2][Link]/viewdoc/download?doi=[Link].5829&rep=rep1&type=pdf
[3][Link]/en_us/insights/articles/big-data/artificial-intelligence-machine-learning-deep-learning-and-
[Link]#/
[4][Link]/Resources/Articles/tabid/115/ID/5468/An-Introduction-on-Artificial-Intelligence-and-
[Link]
[5][Link]/what-is-a-progressive-web-app-pwa/
[Link]/resources/articles/what-is-a-progressive-web-app-and-why-you-need-one
[Link]/download/pdf/[Link]
[6][Link]/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment
[Link]/cicd
[7][Link]/continuous-integration-continuous-delivery-myths-pitfall-and-practical-approach-
aaec22edacc5
[8][Link]/marketing/what-is-digital-marketing
[9][Link]/what-is-digital-marketing/#mobile-marketing
[10][Link]/low-code-guide/
[11][Link]/low-code-basics/
[12][Link]/blog/posts/what-is-low-code/
[13][Link]/tutorials/blockchain-tutorial/blockchain-technology
[14][Link]/wiki/Blockchain
[15][Link]/wiki/Cognitive_computing
[16][Link]/wiki/Internet_of_things
[17][Link]/terms/b/[Link]
[18][Link]/[Link]
[19][Link]/what-is-devops/
[20][Link]/devops/what-is-devops
[21][Link]/research/5g/what-is-5g
[22][Link]/edge-computing/what-is-edge-computing/
[23][Link]/what-is-mixed-reality/
[24][Link]/[Link]
[25][Link]/10_best_programming_languages_2021/

35

You might also like