Dezvoltarea Aplicațiilor Mobile

TIFS

Dezvoltarea Aplicațiilor Mobile

Se încarcă ...
Despre acest curs:

App Development

In-app development, the most fundamental distinction is that between web apps and mobile apps. Web apps require an active internet connection to run, whereas mobile apps work offline. Web apps on smartphones are simply mobile-optimized web pages, while mobile apps need to be downloaded from a phone’s app store.

Mobile apps are superior in terms of efficiency and speed but do require users to manually or automatically download updates rather than updating themselves, as web apps do. Mobile app development tends to be more resource-intensive than web app creation, but mobile apps are faster and usually functionally outperform their web counterparts. For example, mobile apps often use phone features like cameras that web apps usually don’t have access to.

You may be surprised to learn that there are several kinds of mobile apps, so we’ll proceed by distinguishing between the two major types: native apps and cross-platform apps.

Native Apps vs. Cross-Platform Apps

Native applications are those built with a given operating system (OS) in mind, using specific programming languages and Integrated Development Environments (IDEs). For example, a native application for iOS should be written in the language that iOS expects, using the APIs that iOS exposes. If developers use Objective-C and Swift for an iOS app, or Java for an Android app, along with the appropriate APIs, such applications are “native” insofar as the underlying system’s capabilities are used as expected by the system. Native apps also use hardware memory, camera, sensors, and other programs installed on a device through the APIs exposed by the underlying system. 

By contrast, cross-platform frameworks intend to provide universal solutions supported by several mobile OSs at once. They use a common core with per-platform customizations to fit an application to multiple platforms, so there’s no need to create unique elements for each OS.

What are the advantages and challenges of each mobile app approach? 

Native apps offer higher performance, greater energy efficiency, fewer limitations in architecture and functionality, and an interface fully compliant with the given platform’s guidelines. However, maintaining them comes at a high price: Mobile apps sometimes get multiple updates each month, and keeping them up-to-date can consume developer time that could otherwise be spent on new functionality. Also, a native app’s audience is limited to users of one particular OS, unless its creators exert considerable effort in developing the same app for multiple systems. 

Conversely, cross-platform apps facilitate code-sharing, as developers don’t have to create one app for iOS and a separate one for Android, but are often able to share 80% or more of their code across platforms. Less coding effort required allows the app to be maintained on multiple platforms, even with a small team.

However, It’s difficult to tailor a single solution to various operating systems. A cross-platform solution is designated as such precisely because its framework allows you to use multi-platform functionality. A cross-platform application’s interface is usually universal, leading to lags and complexities when implementing specific elements of each OS, as features unique to a particular platform typically won’t be supported. While a framework might make an app look and feel like its intended platform, without any additional work from the developer, design choices are usually limited.

Now let’s take a closer look at the toolchains required for both app types, and further distinguish between even more variations of mobile apps within the cross-platform ecosystem.

Native Apps

In native app development, familiarity with your chosen operating system’s IDE and project structure is imperative. Fortunately, the iOS and Android operating systems are well-documented and provide their own development tools, interface elements, and software development kits (SDKs), which developers can use to build native mobile apps.

Apple devices run on the iOS native operating system and are built using either Objective-C or Swift along with the Xcode IDE. Despite being two separate platforms, iOS and macOS share similarities, so if you want to run your mobile app on an Apple desktop, you can incorporate modern iOS features into your app. This will simplify the transition to macOS (since up-to-date features automatically map to appropriate macOS behaviors).

By contrast, the Android development toolchain usually involves Android Studio or the Eclipse IDE, though you may also use other IDEs. Android Studio is the official IDE for Android app development, and the main program for writing code and assembling apps from various packages and libraries. Both Android Studio and the Android SDK are free to download and come with software libraries and sample code. While Android apps are built with Java, you could build an Android app in other languages that run on the Java Virtual Machine, such as Kotlin.

Hybrid Cross-Platform Apps

There are two different types of cross-platform apps: hybrid apps and native cross-platform apps. Hybrid apps use only HTML5, CSS, and JavaScript to create parts of an app’s graphical user interface (GUI). Sound like a web app? Whereas both hybrid mobile apps and web apps render HTML, hybrid apps use app-embedded browsers like WebView to do so.

Some hybrid apps even interact with a smartphone’s hardware, although the functionality can be limited. Apache Cordova, Ionic, and Flutter are among the most promising hybrid app development frameworks currently on the market.

Native Cross-Platform Apps

Native cross-platform apps, on the other hand, are not built with HTML/CSS/JS frameworks — a developer would instead create a unified API running on top of a native SDK. By making use of a native IDE coupled with this API, a developer can build iOS and Android apps that share the same codebase while providing a near-native experience. Native cross-platform applications are primarily built with Xamarin, React Native, and Kotlin Multiplatform.

This may sound confusing, so let’s look at how one such mobile UI framework works. We’ll take the case of Xamarin. 

Built with C# and .Net, Xamarin allows developers to create cross-platform applications with shared interfaces using Xamarin.Forms. Xamarin.iOS and Xamarin.Android are particularly useful for creating iOS and Android interfaces. In addition to providing libraries that grant native and third-party API access, Xamarin gives cross-platform apps access to smartphone hardware and functionality previously only found in native apps. By combining near-native performance with code reusability, native cross-platform frameworks narrow the performance gap between native and hybrid apps with the potential for more cost-effective development.

veverita

Tatiana Veverița

Dr., lector universitar, facultatea Fizică, Matematică și Tehnologii Informaționale

Dr., lector universitar, facultatea Fizică, Matematică și Tehnologii Informaționale a Universității de Stat din Tiraspol (cu sediul la Chișinău)

Tatiana Veverița își desfășoară activitatea la catedra Informatică și Tehnologii Informaționale a Universității de Stat din Tiraspol. Este titulară a cursurilor de „Tehnologii Informaționale”,  „Programarea pentru device-uri mobile”, „Structuri de date și algoritmi”, „Algoritmi genetici”,  etc.

Este implicată în diverse proiecte naționale și internaționale precum: „Competențe digitale pentru angajare în economia modernă˝, Metodologia implementării TIC în procesul de studiere a științelor reale în sistemul de educație din Republica Moldova din perspectiva inter/trans disciplinarității (concept STEAM), „Reforma Învățământului în Moldova” implementat de Ministerul Educației, Culturii și Cercetării.

A fost implicată în elaborarea resurselor digitale interactive la modulul Educația digitală, pentru elevii claselor I și II, precum și învățătorilor, autor a suportului electronic Educația digitală, clasa a III-a, a mai multor articole științifice pe tematica TIC în Educație. Promovează intens capacitatea de a valorifica oportunitățile pe care le oferă societatea informațională, cum ar fi utilizarea eficientă a noilor tehnologii și medii de învățare, abordări interdisciplinare în instruire, integrarea în comunitățile profesionale internaționale, renunțarea la zona de confort personal, autoinstruirea continuă.
A elaborat cursuri de formare profesională continuă pentru profesori: Tehnologii digitale pentru predare; Competențe digitale pentru profesori; Competențe de creare a RED; Informatică și Tehnologii Web etc.
 

braicov

Andrei Braicov

Dr., conferențiar universitar, facultatea Fizică, Matematică și Tehnologii Informaționale

Dr., conferențiar universitar, facultatea Fizică, Matematică și Tehnologii Informaționale a Universității de Stat din Tiraspol (cu sediul la Chișinău)

Andrei Braicov predă la Universitatea de Stat din Tiraspol cursurile „Proiectarea și programarea aplicațiilor Web”, „Structuri de date și algoritmi”, „Programarea vizuală” etc.

Este cercetător științific în cadrul Proiectului „Metodologia implementării TIC în procesul de studiere a științelor reale în sistemul de educație din Republica Moldova din perspectiva inter- trans-disciplinarității (conceptul STEAM)”

A condus mai multe proiecte naționale și internaționale, printre care și proiectul Erasmus + TEACHME (Creating Moldovan E-network for Promoting e-teaching in the Continuing Professional Education).

Este autor al diferitor manuale, ghiduri, curricule, culegeri de probleme, de matematică, informatică, alfabetizare digitală.
A elaborat cursuri de formare profesională continuă pentru profesori: Tehnologii digitale pentru predare; Competențe digitale pentru profesori;

Competențe de creare a RED; Informatică și Tehnologii Web etc.
 

Mobile APPS Lectia 0
Progres0
  • Mobile APPS Lectie Video 0
  • Mobile APPS Lectie Text 0
Mobile APPS Lectia 1
Progres0
  • Mobile APPS Lectie Video 1
  • Mobile APPS Lectie Text 1
Mobile APPS Test de Evaluare 1
Progres0
  • Mobile APPS Test de Evaluare 1
Mobile APPS Lectia 2
Progres0
  • Mobile APPS Lectie Video 2
  • Mobile APPS Lectie Text 2
  • Mobile APPS Sarcina Practica 2
Mobile APPS Lectia 3
Progres0
  • Mobile APPS Lectie Video 3
  • Mobile APPS Lectie Text 3
  • Mobile APPS Sarcina Practica 3
Mobile APPS Test de Evaluare 3
Progres0
  • Mobile APPS Test de Evaluare 3
Mobile APPS Lectia 4
Progres0
  • Mobile APPS Lectie Video 4
  • Mobile APPS Lectie Text 4
  • Mobile APPS Sarcina Practica 4
Mobile APPS Test de Evaluare 4
Progres0
  • Mobile APPS Test de Evaluare 4
Mobile APPS Lectia 5
Progres0
  • Mobile APPS Lectie Video 5
  • Mobile APPS Lectie Text 5
  • Mobile APPS Sarcina Practica 5
Mobile APPS Test de Evaluare 5
Progres0
  • Mobile APPS Test de Evaluare 5
Mobile APPS Lectia 6
Progres0
  • Mobile APPS Lectie Video 6
  • Mobile APPS Lectie Text 6
  • Mobile APPS Sarcina Practica 6
Mobile APPS Test de Evaluare 6
Progres0
  • Mobile APPS Test de Evaluare 6
Mobile APPS Lectia 7
Progres0
  • Mobile APPS Lectie Video 7
  • Mobile APPS Lectie Text 7
  • Mobile APPS Sarcina Practica 7
Mobile APPS Lectia 8
Progres0
  • Mobile APPS Lectie Video 8
  • Mobile APPS Lectie Text 8
  • Mobile APPS Sarcina Practica 8
Mobile APPS Test de Evaluare 7-8
Progres0
  • Mobile APPS Test de Evaluare Lectiile 7-8
Mobile APPS Lectia 9
Progres0
  • Mobile APPS Lectie Video 9
  • Mobile APPS Lectie Text 9
  • Mobile APPS Sarcina Practica 9
Mobile APPS Lectia 10
Progres0
  • Mobile APPS Lectie Video 10
  • Mobile APPS Lectie Text 10
  • Mobile APPS Sarcina Practica 10
Mobile APPS Lectia 11
Progres0
  • Mobile APPS Lectie Video 11
  • Mobile APPS Lectie Text 11
  • Mobile APPS Sarcina Practica 11
Mobile APPS Test de Evaluare 10-11
Progres0
  • Mobile APPS Test de Evaluare Lectii 10-11
Mobile APPS Lectia 12
Progres0
  • Mobile APPS Lectie Video 12
  • Mobile APPS Lectie Text 12
  • Mobile APPS Sarcina Practica 12
Mobile APPS Test de Evaluare 12
Progres0
  • Mobile APPS Test de Evaluare 12
Mobile APPS Lectia 13
Progres0
  • Mobile APPS Lectie Video 13
  • Mobile APPS Lectie Text 13
  • Mobile APPS Sarcina Practica 13
Mobile APPS Test de Evaluare 13
Progres0
  • Mobile APPS Test de Evaluare 13
Mobile APPS Lectia 14
Progres0
  • Mobile APPS Lectie Video 14
  • Mobile APPS Lectie Text 14
  • Mobile APPS Sarcina Practica 14
Mobile APPS Test de Evaluare 14
Progres0
  • Mobile APPS Test de Evaluare 14
Mobile APPS Lectia 15
Progres0
  • Mobile APPS Lectie Video 15
  • Mobile APPS Lectie Text 15
  • Mobile APPS Sarcina Practica 15
Mobile APPS Test de Evaluare 15
Progres0
  • Mobile APPS Test de Evaluare 15
Mobile APPS Lectia 16
Progres0
  • Mobile APPS Lectie Video 16
  • Mobile APPS Lectie Text 16
  • Mobile APPS Sarcina Practica 16
Mobile APPS Test de Evaluare 16
Progres0
  • Mobile APPS Test de Evaluare 16
Mobile APPS Lectia 17
Progres0
  • Mobile APPS Lectie Video 17
  • Mobile APPS Lectie Text 17
  • Mobile APPS Sarcina Practica 17
Mobile APPS Test de Evaluare 17
Progres0
  • Mobile APPS Test de Evaluare 17
Mobile APPS Lectia 18
Progres0
  • Mobile APPS Lectia 18
Mobile APPS Test de Evaluare 18
Progres0
  • lectie118
Mobilie APPS Lectia 19
Progres0
  • Mobile APPS Lectia 19
Mobile APPS Test de evaluare 19
Progres0
  • lectie199
Mobile APPS Lectia 20
Progres0
  • Mobile APPS Lectia 20
Mobile APPS Test de evaluare 20
Progres0
  • lectie200
Mobile APPS Lectia 21
Progres0
  • lectie21
Mobile APPS Test de evaluare 21
Progres0
  • 21test
Mobile APPS Lectia 22
Progres0
  • Mobile APPS Lectia 22
Mobile APPS Test de evaluare 22
Progres0
  • 22
Mobile APPS Lectia 23
Progres0
  • Mobile APPS Lectia 23
Mobile APPS Test de evaluare 23
Progres0
  • 233
Mobile APPS Lectia 24
Progres0
  • Mobile APPS Lectia 24
Mobile APPS Test de evaluare 24
Progres0
  • 244
Mobile APPS Lectia 25
Progres0
  • Mobile APPS Lectia 25
Mobile APPS Test de evaluare 25
Progres0
  • 255
Mobile APPS Lectia 26
Progres0
  • Mobile APPS Lectia 26
Mobile APPS Test de evaluare 26
Progres0
  • 266
Mobile APPS Lectia 27
Progres0
  • Mobile APPS Lectia 27
Mobile APPS Test de evaluare 27
Progres0
  • 277
Mobile APPS Lectia 28
Progres0
  • Mobile APPS Lectia 28
Mobile APPS Test de evaluare 28
Progres0
  • 288
Mobile APPS Lectia 29
Progres0
  • Mobile APPS Lectia 29
Mobile APPS Test de evaluare 29
Progres0
  • 299
Mobile APPS Lectia 30
Progres0
  • Mobile Apps Lectia 30
Mobile APPS Test de evaluare 30
Progres0
  • 300
Mobile APPS Lectia 31
Progres0
  • Mobile Apps Lectia 31
Mobile APPS Test de evaluare 31
Progres0
  • 311
Mobile APPS Lectia 32
Progres0
  • Mobile Apps Lectia 32
Mobile APPS Test de evaluare 32
Progres0
  • 322
Mobile APPS Lectia 33
Progres0
  • Mobile Apps Lectia 33
Mobile APPS Test de evaluare 33
Progres0
  • 333
Mobile APPS Lectia 34
Progres0
  • Mobile Apps Lectia 34
Mobile APPS Test de evaluare 34
Progres0
  • 344