0% found this document useful (0 votes)
25 views

MIMOIRE

MIMOIRE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

MIMOIRE

MIMOIRE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Chapter 01 General information on cross-platform technologies

Chapter 01
General
information on
cross-platform
technologies

I) Introduction
Currently, the development of information and communication
technology, especially web-based internet applications, is happening
quite rapidly [1]. One example of this application is a multi-platform
1
Chapter 01 General information on cross-platform technologies

application or also known as cross-platform [2]. The use of multi-platform


technology is undeniably an essential and integral part of various sectors
of life [3]. It seems that the presence of multi-platform technology is
inseparable from the presence of smartphones and tablet computers that
help in the learning process as a result of practical considerations,
personalization, modernization, and minimizing the cost [4]. Multiplatform
applications have changed to be more innovative [5], fun [6], dynamic [7]
multi-platform application is a multimedia software, which supports
several operating systems and several different devices [9]. Multi-
platform applications are web-based applications that can be executed on
several devices such as smartphones, PCs, and gadgets [9]. Operating
systems that support this application include Blackberry OS, Android OS,
IOS, and Windows Phone OS [2,10]. This application was developed by
integrating several computing technologies such as web, hybrid, and
native [1,11,12]. Multi-platform applications can facilitate innovations in
the digital age

Definition:
Cross-platform technologies refer to development tools and frameworks
that allow developers to create applications capable of running on
multiple operating systems (such as Windows, macOS, Android, and iOS)
with a single codebase. Instead of building separate applications for each
platform, cross-platform technologies enable code reuse and streamline
the development process. This leads to reduced development time, lower
costs, and a consistent user experience across different devices.

 Cross-platform technology(.NET) :

 Definition:
2
Chapter 01 General information on cross-platform technologies

.NET is a developer platform made up of tools, programming languages, and libraries for
building many different types of applications. There are various implementations of .NET.
Each implementation allows .NET code to execute in different places—Linux, macOS,
Windows, iOS, Android, and many more. .NET Framework is the original implementation of
.NET. It supports running websites, services, desktop apps, and more on Windows..NET is a
cross-platform implementation for running websites, services, and console apps on
Windows, Linux, and macOS. .NET is open source on GitHub. .NET was previously
called .NET Core. Xamarin/Mono is a .NET implementation for running apps on all the
major mobile operating systems, including iOS and Android..NET Standard is a formal
specification of the APIs that are common across .NET implementations. This allows the
same code and libraries to run on different implementations.
 Components of .Net Framework:
Net Framework is a platform that provides tools and technologies to develop Windows, Web
and Enterprise applications. It mainly contains two components: (Common Language
Runtime (CLR) and .Net Framework Class Library)
 1.3.1Common Language Runtime (CLR):
.Net Framework provides runtime environment called Common Language Runtime (CLR).
It provides an environment to run all the .Net Programs. The code which runs under the CLR
is called as Managed Code. Programmers need not to worry on managing the memory if the
programs are running under the CLR as it provides memory management and thread
management. Programmatically, when our program needs memory, CLR allocates the
memory for scope and de-allocates the memory if the scope is completed. Language
Compilers (e.g.#, VB.Net, J#) will convert the Code/Program to Microsoft Intermediate
Language (MSIL) intern this will be converted to Native Code by CLR. See the below Fig.

figure 01
There are currently over 15 language compilers being built by Microsoft and other
companies also producing the code that will execute under CLR.
 .Net Framework Class Library (FCL)
3
Chapter 01 General information on cross-platform technologies

This is also called as Base Class Library and it is common for all types of applications i.e.
the way you access the Library Classes and Methods in VB.NET will be the same in C#, and
it is common for all other languages in .NET.
The following are different types of applications that can make use of .net class library.
 Windows Application.
 Console Application
 Web Application.
 XML Web Services.
 Windows Services.
In short, developers just need to import the BCL in their language code and use its
predefined methods and properties to implement common and complex functions like
reading and writing to file, graphic rendering, database interaction, and XML document
manipulation.
 Common Type System (CTS)
It describes set of data types that can be used in different .Net languages in common.
(i.e.), CTS ensures that objects written in different .Net languages can interact with each
other.
For Communicating between programs written in any .NET complaint language, the
types have to be compatible on the basic level.
The common type system supports two general categories of types:
Value types:
Value types directly contain their data, and instances of value types are either allocated on
the stack or allocated inline in a structure. Value types can be built-in (implemented by
the runtime), user-defined, or enumerations.
Reference types:
Reference types store a reference to the value's memory address, and are allocated on the
heap. Reference types can be self-describing types, pointer types, or interface types. The
type of a reference type can be determined from values of self-describing types. Self-
describing types are further split into arrays and class types. The class types are user-
defined classes, boxed value types, and delegates.
Common Language Specification (CLS)
It is a sub set of CTSS and it specifies a set of rules that needs to be adhered or satisfied
by all language compilers targeting CLR. It helps in cross language inheritance and cross
language debugging.
Common language specification Rules:
It describes the minimal and complete set of features to produce code that can be hosted
by CLR. It ensures that products of compilers will work properly in .NET environment.

Sample Rules:

 Representation of text strings

4
Chapter 01 General information on cross-platform technologies

 Internal representation of enumerations


 Definition of static members and this is a subset of the CTS which all .NET languages are
expected to support.
 Microsoft has defined CLS which are nothing but guidelines that language to follow so
that it can communicate with other .NET languages in a seamless manner.

Below mentioned the .Net Architecture stack for easy understanding.

1.4. NET Framework Class Library:

.NET Framework Class Library is the collection of classes, namespaces, interfaces and value
types that are used for .NET applications.
5
Chapter 01 General information on cross-platform technologies

It contains thousands of classes that supports the following functions.

o Base and user-defined data types


o Support for exceptions handling
o input/output and Stream Operations
o Communications with the underlying system
o Access to data
o Ability to create Windows-based GUI applications
o Ability to create web-client and server applications
o Support for creation web services
1.4.1.NET Framework Class Library Nam spaces
Following are the commonly used namespaces that contains useful classes and interfaces and
defined in Framework Class Library.

Nam spaces Description


It includes all common datatypes, string values,
System
arrays and methods for data conversion.
System.DataSystem.Data.Common,
These are used to access a database, perform
System.Data.OleDb, System.Data.SqlClient,
commands on a database and retrieve database.
System.Data.SqlTypes
System.IO,System.DirectoryServices,
These are used to access, read and write files.
System.IO.IsolatedStorage
It is used to debug and trace the execution of an
System.Diagnostics
application.
These are used to communicate over the Internet
System.Net, System.Net.Sockets
when creating peer-to-peer applications
These namespaces are used to create Windows-
System.Windows.Forms,
based applications using Windows user interface
System.Windows.Forms.Design
components.
System.Web,System.WebCaching, System.Web.UI,
System.Web.UI.Design,
System.Web.UI.WebControls, These are used to create ASP. NET Web
System.Web.UI.HtmlControls, applications that run over the web.
System.Web.Configuration, System.Web.Hosting,
System.Web.Mail, System.Web.SessionState
System.Web.Services,
System.Web.Services.Description,
These are used to create XML Web services and
System.Web.Services.Configuration,
components that can be published over the web.
System.Web.Services.Discovery,
System.Web.Services.Protocols
System.Security, System.Security.Permissions,
These are used for authentication, authorization, and
System.Security.Policy, System.WebSecurity,
encryption purpose.
System.Security.Cryptography

6
Chapter 01 General information on cross-platform technologies

System.Xml,System.Xml.Schema,
These namespaces are used to create and access
System.Xml.Serialization, System.Xml.XPath,
XML files.
System.Xml.Xsl

1.4.2NET Framework Base Class Library :


.NET Base Class Library is the sub part of the Framework that provides library support to
Common Language Runtime to work properly. It includes the System namespace and core
types of the .NET framework.

1.5.NET Programming Languages :

1.5.1.C# :

C# (pronounced "C sharp") is a simple, modern, object-oriented, and type-safe programming


language.

Its roots in the C family of languages makes C# immediately familiar to C, C++, Java, and
JavaScript programmers.

7
Chapter 01 General information on cross-platform technologies

1.5.2. F# :

F# (pronounced "F sharp") is a programming language that makes it easy to write succinct,
robust, and performant code.

1.5.3. Visual Basic:

Visual Basic is an approachable language with a simple syntax for building type-safe, object-
oriented apps.

1.6. Architecture of .NET Framework:

The two major components of .NET Framework are the Common Language Runtime and the
.NET Framework Class Library.

8
Chapter 01 General information on cross-platform technologies

The Common Language Runtime (CLR) is the execution engine that handles running
applications. It provides services like thread management, garbage collection, type-safety,
exception handling, and more.

The Class Library provides a set of APIs and types for common functionality. It provides
types for strings, dates, numbers, etc. The Class Library includes APIs for reading and
writing files, connecting to databases, drawing, and more.

.NET applications are written in the C#, F#, or Visual Basic programming language. Code is
compiled into a language-agnostic Common Intermediate Language (CIL). Compiled code is
stored in assemblies—files with a .dell or .exe file extension.

When an app runs, the CLR takes the assembly and uses a just-in-time compiler (JIT) to turn
it into machine code that can execute on the specific architecture of the computer it is
running on.

1.7. What is ASP.NET?

ASP.NET is an open. Source. Source web framework, created by Microsoft, for building
modern web apps and services with .NET.

ASP.NET is cross platform and runs on Windows, Linux, macOS, and Docker.

1.7.1.ASP.NET extends .NET:

9
Chapter 01 General information on cross-platform technologies

ASP.NET extends the .NET platform with tools and libraries specifically for building web
apps.

These are some things that ASP.NET adds to the .NET platform:

Base framework for processing web requests in C# or F# Web-page templating syntax,


known as Razor, for building dynamic web pages using C#

Libraries for common web patterns, such as Model View Controller (MVC)

Authentication system that includes libraries, a database, and template pages for handling
logins, including multi-factor authentication and external authentication with Google, X, and
more.

Editor extensions to provide syntax highlighting, code completion, and other functionality
specifically for developing web pages

1.7.2. Back-end code:

When using ASP.NET your back-end code, such as business logic and data access, is written
using C#, F#, or Visual Basic.

Because ASP.NET extends .NET, you can use the large ecosystem of packages and libraries
available to all .NET developers. You can also author your own libraries that are shared
between any applications written on the .NET platform.

1.7.3. Dynamic pages using C#, HTML, CSS, and JavaScript:

Razor provides a syntax for creating dynamic web pages using HTML and C#. Your C#
code is evaluated on the server and the resulting HTML content is sent to the user.

Code that executes client-side is written in JavaScript. ASP.NET integrates with JavaScript
frameworks and includes pre-configured templates for single page app (SPA) frameworks
like React and Angular.

1.7.4. Open-source:

Like the rest of .NET, ASP.NET is open source on GitHub. .NET has over 100,000
contributions and 3,700 companies have already contributed.

1.8 What is Java technology:

Java is a programming language and a platform. Java is a high level, robust, object-oriented
and secure programming language.
10
Chapter 01 General information on cross-platform technologies

Java was developed by Sun Microsystems (which is now the subsidiary of Oracle) in the
year 1995. James Gosling is known as the father of Java. Before Java, its name was Oak.
Since Oak was already a registered company, so James Gosling and his team changed the
name from Oak to Java. Platform: Any hardware or software environment in which a
program runs, is known as a platform. Since Java has a runtime environment (JRE) and API,
it is called a platform.

1.9. Components of Java Architecture:

Java architecture comprises three main components:

 Java Virtual Machine (JVM)

 Java Runtime Environment (JRE)

 Java Development Kit (JDK)

1.9.1 Java Virtual Machine:

The main feature of Java is WORA. WORA stands for Write Once Run Anywhere. The
feature states that we can write our code once and use it anywhere or on any operating
system. Our Java program can run any of the platforms only because of the Java Virtual
Machine. It is a Java platform component that gives us an environment to execute java
programs. JVM's main task is to convert byte code into machine code.

JVM, first of all, loads the code into memory and verifies it. After that, it executes the code
and provides a runtime environment. Java Virtual Machine (JVM) has
its own architecture, which is given below:

JVM Architecture

JVM is an abstract machine that provides the environment in


which Java bytecode is executed. The falling figure represents the
architecture of the
JVM.

11
Chapter 01 General information on cross-platform technologies

1.9.1.1 Class Loader:

class Loader is a subsystem used to load class files. class Loader first loads the Java code
whenever we run it.

1.9.1.2 Class Method Area:

In the memory, there is an area where the class data is stored during the code's execution.
Class method area holds the information of static variables, static methods, static blocks, and
instance methods.

1.9.1.3 Heap:

The heap area is a part of the JVM memory and is created when the JVM starts up. Its size
cannot be static because it increases or decrease during the application runs.

1.9.1.4 Stack:

It is also referred to as thread stack. It is created for a single execution thread. The thread
uses this area to store the elements like the partial result, local variable, data used for calling
method and returns etc.

1.9.1.5 Native Stack:

It contains the information of all the native methods used in our application.

1.9.1.6 Execution Engine:

It is the central part of the JVM. Its main task is to execute the byte code and execute the
Java classes. The execution engine has three main components used for executing Java
classes.

 Interpreter: It converts the byte code into native code and executes. It sequentially
executes the code. The interpreter interprets continuously and even the same

12
Chapter 01 General information on cross-platform technologies

method multiple times. This reduces the performance of the system, and to solve
this, the JIT compiler is introduced.
 JIT Compiler: JIT compiler is introduced to remove the drawback of the
interpreter. It increases the speed of execution and improves performance.
 Garbage Collector: The garbage collector is used to manage the memory, and it is
a program written in Java. It works in two phases, i.e., Mark and Sweep. Mark is
an area where the garbage collector identifies the used and unused chunks of
memory. The Sweep removes the identified object from the Mark
1.9.1.7 Java Native Interface: Java Native Interface works as a mediator between Java
method calls and native libraries.

1.9.2Java Runtime Environment :


It provides an environment in which Java programs are executed. JRE takes our Java code,
integrates it with the required libraries, and then starts the JVM to execute it. To learn more
about the Java Runtime Environment
1.9.3Java Development Kit :
It is a software development environment used in the development of Java applications and
applets. Java Development Kit holds JRE, a compiler, an interpreter or loader, and several
development tools in it.
These are three main components of Java Architecture. The execution of a program is done
with all these three components.
1.10. Java Libraries:

Java is one of the most popular programming languages. Java provides a rich set of libraries,
and its standard Java library is a very powerful that contains libraries such as java. Lang,
java.util, and java. Math, etc. Java provides more than thousands of libraries except standard
libraries. Some of the most useful and popular libraries are as follows:

 Java Standard libraries

 Apache Commons

 Jackson

 Maven

 Google-Json

 Log5j and Slf4j


13
Chapter 01 General information on cross-platform technologies

 JUnit

 Google Guava

 JAXB

 HTTP Libraries

1.11.What is the Java programming language ?


Java is a language; it allows building localized and distributed software. Some common uses
of Java include:
1.11.1. Game development
Many popular mobile, computer, and video games are created in Java. Even modern games
that integrate advanced technologies like machine learning or virtual reality are created using
Java technology.
1.11.2. Cloud computing
Java is often called WORA (Write Once and Run Anywhere), which makes it ideal for
decentralized cloud-based applications. Cloud providers choose Java to run programs on a
wide range of underlying platforms
1.11.3. Big Data
Java is used for data processing engines that can work with complex datasets and massive
amounts of data in real time.
1.11.4. Artificial intelligence
Java is a powerhouse of machine learning libraries. Its stability and speed make it ideal for
developing artificial intelligence applications, such as natural language processing and deep
learning.
1.11.5. Internet of Things (IoT)
Java has been used to program sensors and hardware into peripheral devices that can
independently connect to the Internet.
1.12. Java Architecture:
Java Architecture is a collection of components, i.e., JVM, JRE, and JDK. It integrates the
process of interpretation and compilation. It defines all the processes involved in creating a
14
Chapter 01 General information on cross-platform technologies

Java program. Java Architecture explains each and every step of how a program is compiled
and executed.
Java Architecture can be explained by using the following steps:

o There is a process of compilation and interpretation in Java.


o Java compiler converts the Java code into byte code.
o After that, the JVM converts the byte code into machine code.
o The machine code is then executed by the machine.
The following figure represents the Java Architecture in which each step is elaborate
graphically.

1.13. Java Platforms / Editions


There are 4 platforms or editions of Java:

1.13. 1) Java SE (Java Standard Edition)


It is a Java programming platform. It includes Java programming APIs such as java. Lang,
java.io, java.net, java.util java. SQL, java. Math etc. It includes core topics like
OOPs, String, Regex, Exception, Inner classes, Multithreading, I/O Stream, Networking,
AWT, Swing, Reflection, Collection, etc.

1.13. 2) Java EE (Java Enterprise Edition)


It is an enterprise platform that is mainly used to develop web and enterprise applications. It
is built on top of the Java SE platform. It includes topics like Servlet, JSP, Web Services,
EJB
15
Chapter 01 General information on cross-platform technologies

1.13. 3) Java ME (Java Micro Edition)


It is a micro platform that is dedicated to mobile applications.

1.13. 4) JavaFX
It is used to develop rich internet applications. It uses a lightweight user interface API.

1.14. cross-platform PHP technology:


A PHP framework is a platform that provides developers with a set of tools and libraries to
build web applications more efficiently. It provides a structure for organizing code, handling
requests, and managing databases. PHP frameworks offer several benefits, including faster
development, improved performance, and excellent security
1.15. Technology components of PHP
1.15.1. Web Server:
- Apache, Nginx: PHP works with web servers to handle HTTP requests and
execute PHP scripts.
1.15.2. PHP Engine:
- Zend Engine: The heart of PHP, responsible for interpreting and executing scripts.
- PHP-FPM (Fast CGI Process Manager): Used to manage PHP processes efficiently.
1.15.3. PHP Extensions:
- PDO: Interface to access databases.
- GD: Library for image manipulation.
- Curl: Make HTTP requests to other servers.
- mbstring: Support for multibyte strings (UTF-8).
- OpenSSL: Manage secure connections (HTTPS).
- MySQL, pgsql: Extensions to interact with MySQL and PostgreSQL.
1.15.4. DBMS:
- MySQL, PostgreSQL, SQLite, MariaDB: Databases commonly used with PHP.
16
Chapter 01 General information on cross-platform technologies

1.15.5. PHP Frameworks:


- Laravel: Modern framework with elegant syntax.
- Symfony: Robust framework for large-scale applications.
- CodeIgniter: Lightweight and fast framework.
Technological components of PHP
- CakePHP: Rapid development framework.
1.15.6. JS and CSS Libraries:
- jQuery, Vue.js, React.js: Front-end libraries for dynamic interactions with PHP.
- Bootstrap, Tailwind CSS: CSS frameworks for responsive interfaces.
1.15.7. PHP Security:
- Password Hashing: Functions like password hash() and password verify().
- CSRF and XSS Protection: Techniques to prevent attacks on PHP sites.
1.15.8. Session and Cookie Management:
- PHP Sessions: Store user data between requests.
- Cookies: Store client-side information accessible by PHP.
1.15.9. Template Systems:
- Twig, Blade (Laravel): Template engines to separate PHP logic from the view.
1.15.10. Development and Debugging Tools:
- Debug: Extension to debug and profile PHP scripts.
- Composer: Dependency manager for PHP.
- PHPUnit: Unit testing framework for PHP.
1.15.11. Development Environments:
- XAMPP, MAMP, WAMP: Solutions to quickly configure a PHP environment.
- Docker: Create isolated and portable PHP environments.
1.16 PHP libraries:

17
Chapter 01 General information on cross-platform technologies

1.16.1. Composer
Description: A dependency manager for PHP that allows you to manage libraries and
packages for your projects.
1.16. 2. Guzzle
Description: A powerful HTTP client for making API requests and handling responses.

1.16.3. PHPMailer:
Description: A popular library for sending emails using PHP with support for SMTP.
1.16.4. Faker
Description: A library for generating fake data such as names, addresses, and phone
numbers, useful for testing.
1.17. PHP languages:
PHP (Hypertext Preprocessor) is a widely used server-side scripting language designed for
web development but also used as a general-purpose programming language. Here are some
key aspects of PHP:
1. Overview
Type: Server-side scripting language
Syntax: C-like syntax
Paradigms: Object-oriented, procedural, functional
2. Features
Cross-Platform: Works on various operating systems, including Windows, Linux, and
macOS.
Database Support: Easily connects with various databases like MySQL, PostgreSQL,
SQLite, and others.
Web Integration: Embedded in HTML and easily interacts with web technologies.
Rich Libraries: Extensive built-in functions and a large ecosystem of libraries and
frameworks (e.g., Laravel, Symfony).

18
Chapter 01 General information on cross-platform technologies

1.17. Multi-platform DBMS


The data base gestion system (SGBD) is the logical that allows for a stocker, recuperator,
add, delete and data edit. The SGBD has all aspects of the basic data base, y comprising the
gesture of data manipulation, as well as the authentication of the users, as well as the
insertion or extraction of données. Un SGBD defines this as the donation scheme or the
structure in the data that are stocked.
All of our uses often require SGBD access. This includes automatic bank account guichets,
storage systems, detailed inventory systems and bibliothèque catalogues, for example
.1.17.1 Database
A computer database is a set of data that has been stored on a
computer medium, and organized and structured in such a way that its content can be easily
consulted
and modified.
Let's take the example of a website with a news and members system. We will use a
MySQL database to store all the data on the site: the news (with the publication
date, the title, the content, possibly the author, etc.) and the members (their names,
their emails, etc.). All of this will constitute our database for the site. But it is not enough for
the database to exist. It must also be possible to manage it, to interact with this database. It is
necessary to be able to send messages to MySQL (messages that we will call "queries"), in
order to be able
to add news, modify members, delete, and simply display elements of
the database.
A database alone is therefore not enough, it is also necessary to have:
19
Chapter 01 General information on cross-platform technologies

 a system for managing this database


 a language for transmitting instructions to the database (via the management
system).

1.17.1 DBMS
A Database Management System (DBMS) is a software (or a set of
software) that allows you to manipulate the data in a database. Manipulate, that is, select and
display information from this database, modify data, add or delete
data (this group of four operations is often called "CRUD", for
Create, Read, Update, Delete). MySQL is a database management system.
1.17. 2 SQL language
SQL (Structured Query Language) is a computer language that allows you to interact
with relational databases. It is the most widely used database language,
for the ISO standard). It is still regularly improved.
1.17.3 Brief presentation of MySQL...
MySQL is therefore a Relational Database Management System, which uses the
SQL language. It is one of the most widely used RDBMS. Its popularity is largely due to the
fact
that it is an Open Source software, which means that its source code is freely available
and that anyone who feels the desire and/or the need can modify MySQL to improve
it or adapt it to their needs. A free version of MySQL is therefore available. Note that a
commercial paid version also exists.
The MySQL logo is a dolphin, named Sakila following the Name the dolphin contest.

20
Chapter 01 General information on cross-platform technologies

1.17.4 Oracle database


Oracle, published by Oracle Corporation (which, I remind you, also publishes MySQL) is a
paid RDBMS.
Its high cost means that it is mainly used by companies.
Oracle manages large volumes of data very well. There is no point in buying an Oracle
license
for a small project, because the performance will not be very different from that of
MySQL or another RDBMS. On the other hand, for large projects (several hundred
GB of data), Oracle will be much more efficient.
In addition, Oracle has a very powerful procedural language (at least more powerful than
the procedural language of MySQL): PL/SQL.
1.17.5 MS Access
MS Access or Microsoft Access is a software published by Microsoft (as its name
suggests...)
Therefore, it is a paid software that only works under Windows. It is not at all
suitable for managing a large volume of data and has much fewer features than
other RDBMS. Its main advantage is the intuitive graphical interface that comes with the
software.
1.17.5 Microsoft SQL Server
Microsoft SQL Server is ideal for storing all the desired information in relational databases,
as well as to manage such data without complications, thanks to its visual interface and the
options and tools it has. This is vital, especially for websites that have the option of
registering users to log in.
For companies, using this tool is essential because of the facilities it offers and the utilities it
has. If you have a list of customers, a product catalog or even a large selection of multimedia
content available, Microsoft SQL Server helps to manage absolutely everything. It is
essential for the proper functioning of a website or any application.

21
Chapter 01 General information on cross-platform technologies

Its main component is composed of a relational engine in charge of processing commands,


queries, as well as the storage of files, bb.dd., tables and data buffers. Its secondary levels are
intended for memory management, programming and administration of request and response
interactions with the servers that host the databases.
1.18 connection method:
The International Standards for SQL define a standard high-level language for accessing and
manipulating data stored in a relational database. The standards for the SQL CLI define an
application programming interface (API) that programs use to issue standardized SQL
statements through a set of well-defined API functions.
1.18 .1The term Open Database Connectivity (ODBC) is more commonly used than the
term SQL CLI; in many cases, they are synonymous. ODBC is a Microsoft specification for
the application programming interface that is an implementation of the International
Standards for the SQL CLI. ODBC is a superset of the SQL API because it defines many
functions that are not defined in the International Standard for the SQL API. However, the
SQL CLI and the Microsoft ODBC specification are closely aligned, and the two terms are
synonymous, particularly in the C and C++ programming environments. Unless otherwise
specified, the terms SQL CLI and SQL ODBC refer to the same concept in this document.
1.18 .2 JDBC
Sun Microsystems has developed a specification, called JDBC, that defines an application
programming interface for the Java™ programming environment that Java programmers use
to access relational databases and issue SQL statements. The JDBC specification defines
many of the same functions for Java programmers that ODBC and the SQL CLI define for C
and C++ programmers. Java programs can directly call the application programming
interface functions defined by ODBC and the SQL CLI. However, the nature of the Java
programming environment makes this difficult. JDBC is often a preferable solution to
ODBC for object-oriented Java programming environments.
Like ODBC, JDBC is an implementation of the international standards for the SQL CLI. It
consists of a set of Java interfaces, classes, and methods that allow a Java programmer to use
the same functions that a C or C++ programmer uses to issue ODBC function calls. JDBC is
also a superset of the SQL CLI, as it defines many functions that are not defined in the
international standard for that interface.

22
Chapter 01 General information on cross-platform technologies

1.18 .3OLE DB
was designed as a high-level replacement for ODBC; it supports a wide variety of non-
relational databases that do not necessarily involve implementing SQL (e.g., spreadsheets
and object databases). OLE is based on a client-provider model, in which clients request
access to data and providers, through software component interfaces, grant that access.

Conclusion:
Cross-platform technologies have become an essential part of modern software development,
enabling developers to create applications that can run on multiple operating systems and
devices with a single codebase. This chapter provided an overview of key cross-platform
frameworks and technologies including:
- .NET - Microsoft's cross-platform development framework that includes languages like C#
and F#, as well as ASP.NET for web development.
- Java - A widely used cross-platform programming language and platform with editions for
different use cases like Java SE, Java EE, and Java ME.
- PHP - A popular server-side scripting language for web development that works across
different operating systems and web servers.
- Cross-platform database systems like MySQL, Oracle, and Microsoft SQL Server that can
be used on various platforms.
- Cross-database connectivity standards like ODBC, JDBC and OLE DB that allow
applications to interface with different database systems.
The key benefits of cross-platform technologies include:
- Code reuse across multiple platforms
- Reduced development time and costs
- Consistent user experience across devices
- Ability to target a wider range of users/devices
However, cross-platform development also comes with challenges like performance
optimization and adapting to platform-specific features. As technologies continue to evolve,
cross-platform frameworks are becoming increasingly sophisticated in addressing these
challenges.
23
Chapter 01 General information on cross-platform technologies

For developers, having knowledge of cross-platform technologies opens up more


opportunities and allows creation of applications with broader reach. Understanding the
landscape of cross-platform options is crucial for making informed technology choices in
modern software development

Nam spaces Description


brick/math Arbitrary-precision arithmetic library for PHP
Read and write spreadsheet files (CSV, XLSX and ODS),
openspout/openspout in a fast and scalable way .
All PHP functions, rewritten to throw exceptions instead
thecodingmachine/safe of returning false

PHP Standard Library - a modern, consistent, centralized,


well-typed, non-blocking set of APIs for PHP
azjezz/psl
programmers

Particle\Validator is a validation library with an


particle/validator extremely clean API which makes validation fun!

league/tactician A small, flexible command bus.


This command simulates consumer failures and prints a
timeline of the events. It lets you check whether you retry
golem-ai/messenger-kit
strategy configuration does what you expect it to. 
A Omened consumer library, that gives you information

about URLs. It helps you replace URLs to YouTube or 
Vimeo for example, with their html embed code. It has
mpratt/embera
advanced features like offline support, responsive embeds 
and caching support. 24
PHP library allowing PDF generation or snapshot from
pontedilana/php-weasyprint an URL or an HTML page. Wrapper for
Kozea/WeasyPrint.
phpro/soap-client A general-purpose SOAP client for PHP
Chapter 01 General information on cross-platform technologies


 brick/math: Arbitrary-precision arithmetic library for PHP
 openspout/openspout: Read and write spreadsheet files (CSV, XLSX and ODS), in a
fast and scalable way
 thecodingmachine/safe: All PHP functions, rewritten to throw exceptions instead of
returning false
 azjezz/psl: PHP Standard Library - a modern, consistent, centralized, well-typed, non-
blocking set of APIs for PHP programmers
 particle/validator: Particle\Validator is a validation library with an extremely clean
API which makes validation fun!
 league/tactician: A small, flexible command bus.
 league/flysystem: Abstraction for local and remote filesystems
 golem-ai/messenger-kit: This command simulates consumer failures and prints a
timeline of the events. It lets you check whether your retry strategy configuration does
what you expect it to.
 swarrot/swarrot: A lib to consume message from any Broker
 ronanguilloux/isocodes: PHP library - Validators for standards from ISO, International
Finance, Public Administrations, GS1, Manufacturing Industry, Phone numbers & Zip
codes for many countries
 php-units-of-measure/php-units-of-measure: A library for handling physical quantities
and the units of measure in which they're represented.
 rawr/t-regx: PHP regular expression brought up to modern standards.
 mpratt/embera: A Oembed consumer library, that gives you information about URLs.
It helps you replace URLs to YouTube or Vimeo for example, with their html embed
code. It has advanced features like offline support, responsive embeds and caching
support.
 spatie/geocoder: Geocode addresses to coordinates
 php-soap/wsdl-reader: A pure PHP wsdl metadata provider
 phpro/soap-client: A general purpose SOAP client for PHP
 eventsauce/backoff: Sophisticated back-off strategies for retrying operations.
pontedilana/php-weasyprint: PHP library allowing PDF generation or snapshot from an
URL or an HTML page. Wrapper for Kozea/WeasyPrint.

1.10. 3.PHP frameworks for web development:


Laravel: Modern framework with elegant syntax.
 Symfony: Robust framework for large-scale applications.
 CodeIgniter: Lightweight and fast framework.
 Technological components of PHP
 CakePHP: Rapid development framework. [34]

25

You might also like