Technology and libraries Flashcards
What is Gson ?
Google Gson is a simple Java-based library to serialize Java objects to JSON and vice versa. It is an open-source library developed by Google.
What is Spring MVC?
A Spring MVC is a Java framework which is used to build web applications. It follows the Model-View-Controller design pattern. It implements all the basic features of a core spring framework like Inversion of Control, Dependency Injection.
What is RXjava?
RxJava is described officially as “a library for composing asynchronous and event-based programs by using observable sequences”. But what does this actually mean? Let’s put this library into context.
H2 vs SQL
MySQL is a server - based database - it runs as a separate process from your application, and is commonly used in production deployments. H2 is a lightweight database, which can run entirely in-memory, or with disk storage, either in your application’s process (embedded) or in a separate process.
What is retrofit
Overview. Retrofit is a type-safe REST client for Android, Java and Kotlin developed by Square. The library provides a powerful framework for authenticating and interacting with APIs and sending network requests with OkRetrofit is a type-safe REST client for Android, Java and Kotlin developed by Square. The library provides a powerful framework for authenticating and interacting with APIs and sending network requests with OkHttp. See this guide to understand how OkHttp works.
Retrofit is type-safe REST client for Android and Java which aims to make it easier to consume RESTful web services.
This library makes downloading JSON or XML data from a web API fairly straightforward. Once the data is downloaded then it is parsed into a Plain Old Java Object (POJO) which must be defined for each “resource” in the response.Http.
Retrofit automatically serialises the JSON response using a POJO(Plain Old Java Object) which must be defined in advanced for the JSON Structure. To serialise JSON we need a converter to convert it into Gson first. We need to add the following dependencies in our build.grade file.
What is Hibernate?
Hibernate is an open source object relational mapping (ORM) tool that provides a framework to map object-oriented domain models to relational databases for web applications. Object relational mapping is based on the containerization of objects and the abstraction that provides that capacity.
Hibernate is a Java-based ORM tool that provides a framework for mapping application domain objects to the relational database tables and vice versa.Dec 31, 2018
What is H2?
H2 is an embedded, open-source, and in-memory database. It is a relational database management system written in Java. It is a client/server application. It stores data in memory, not persist the data on disk. Here we will be discussing how can we configure and perform some basic operations in Spring Boot using H2 Database.
What are REST Services
REST is the acronym for REpresentational State Transfer. REST is an architectural style for developing applications that can be accessed over the network. REST architectural style was brought in light by Roy Fielding in his doctoral thesis in 2000.
Restful Web Services is a stateless client-server architecture where web services are resources and can be identified by their URIs.
Advantage of Spring MVC
Separate roles - The Spring MVC separates each role, where the model object, controller, command object, view resolver, DispatcherServlet, validator, etc. can be fulfilled by a specialized object.
Light-weight - It uses light-weight servlet container to develop and deploy your application.
Powerful Configuration - It provides a robust configuration for both framework and application classes that includes easy referencing across contexts, such as from web controllers to business objects and validators.
Rapid development - The Spring MVC facilitates fast and parallel development.
Reusable business code - Instead of creating new objects, it allows us to use the existing business objects.
Easy to test - In Spring, generally we create JavaBeans classes that enable you to inject test data using the setter methods.
Flexible Mapping - It provides the specific annotations that easily redirect the page.
What is ORM?
ORM stands for Object-Relational Mapping (ORM) is a programming technique for converting data between relational databases and object oriented programming languages such as Java, C#, e
What is Jackson Object mapper?
Jackson is a multi-purpose, high-performance Java library for processing JSON. It provides Data Binding functionality that can be used to convert Java objects into their JSON representation. We can also use it to convert a JSON string to an equivalent Java object.
Advantage of hibernate
Hibernate reduces lines of code by maintaining object-table mapping itself and returns result to application in form of Java objects. It relieves programmer from manual handling of persistent data, hence reducing the development time and maintenance cost.
What is stetho ?
Stetho is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools feature natively part of the Chrome desktop browser. Developers can also choose to enable the optional dumpapp tool which offers a powerful command-line interface to application internals.
Spring Boot?
Spring boot is a back end technology stack and can be used to provide back-end services in form of REST API and authentication.
Then you can write your front-end in Android studio using Android native development or using other approach such as Flutter, React Native etc. and consume those REST API developed in Spring boot.
So to summarize:
Application business logic including Authentication: Through spring boot Rest API.
User inteface: React Native/Android/Ionic.
The same approach I have been using for one of my project.