Introduction to Some Widely Used Technologies
1. Angular
Angular is a JavaScript framework for building user interfaces. It is developed by google. Angular and AngularJS are not same. AngularJS was written in JavaScript and was released in 2010. But due to performance issues Angular was released in 2016 and it was written in typescript.
Angular Component
Angular divides a webpage based on components. Components are basic building blocks of a UI.
There are three main parts of a component.
selector — identifier of a component
templateUrl — the template of the component
styleUrls — styles of the component
what the files do inside the src folder,
app.component.html — where the User Interface markup is primarily built
app.component.css — CSS Template where the styling is done, could be css, scss, sass or less
app.component.ts — Typescript Logic where all the DOM manipulation and scripting is done
app.component.spec.ts — uses for unit testing
app.module.ts — uses to render all the components
We can create any folder and we need to create the html, css, ts files to create a component. Then we can add the component name into app.module.ts file.
2. GraphQL
GraphQL is a query language to represent data with a graph data structure. It provides an efficient way design, create, and consume our APIs. Basically, it’s the replacement for REST.
Creating a GraphQL Project
Create a project and use this command to create the package.json file.
npm init –y
Then we will use GraphPack to create graphQl server,
npm install — save-dev graphpack
Next we will create folder named src folder, and there will be three files
schema.graphql — which will hold the entire schema.
resolvers.js — we will write the code that will turn the graphQl instructions into data.
db.js — will hold the data.
We can run this server using this commnd,
npm run dev
Schema
GraphQL has its own type of language to write schemas. This is a human-readable schema syntax called Schema Definition Language (SDL). The SDL will be the same, no matter what technology you’re using — you can use this with any language or framework that you want.
Types
Types are custom objects that represent how your api is going to look. Types have fields, and these fields return a specific type of data. For example, we’re going to create a User type, we should have some name, email, and age fields. Type fields can be anything, and always return a type of data as Int, Float, String, Boolean, ID, a List of Object Types, or Custom Objects Types.
In GraphQL, you will deal with three main concepts:
queries — the way you’re going to get data from the server.
mutations — the way you’re going to modify data on the server and get updated data back (create, update, delete).
subscriptions — the way you’re going to maintain a real-time connection with the server.
3. React Native
React Native is like React. But it has separate components for mobile application development.
In a react app we use <div> to wrap everything inside it. In react native, we do this with <View> component.
All the text will be inside the text component.
This text and view are exclusive to react native.
Core Components
React native provides a lot of core components equivalent to android and IOS components.
They are divided into following categories,
Basic Components: View, Text, Image, TextInput, ScrollView, StyleSheet
User Interface: Button, Picker, Switch
List Views: FlatList, SectionList
iOS Components and APIs: ActionSheetOS
Android Components and APIs: BackHandler, DrawerLayoutAndroid, PermissionsAndroid, ToastAndroid
Others: ActivityIndicator, Alert, Animated, Dimensions, KeyboardAvoidingView, Linking, Modal, PixelRatio, RefreshControl, StatusBar
4. Linux
Linux is a unix based open source operating system. It is free to use for everybody. Any developer can contribute to their code.
The advantages of linux,
1. It is free
2. Open source
3. Has some built in apps such as browser, office suite, player, graphical designing app etc
4. Powerful terminal which can be used for scripting
5. Very good for any kind of development.
6. Strong Security
The only difference between linux and Ubuntu is the interface.
5. Wordpress
WordPress is now the world’s most used CMS(content management system) tools used. It is free, easy, secure and reliable.
For quick website building WordPress is the perfect choice.
Making a Website using wordpress
1. Download wordpress
2. Install a file transfer protocol
3. Connect site to FTP
4. Create a database
5. Choose a theme
6. Modify site
6. Redux
Redux is a state manager that is used in React applications. For big applications, redux is used along with React.
In Redux, the whole state of the application is represented in a single JavaScript object named state. This is immutable. It can only be changed by an action.
Action — An Action is a JavaScript object that describes a change in a minimalistic way. The only requirement of an action object is having a type property, whose value is usually a string.
Reducers — When action occurs, reducers changes the state of the application. A reducer is a pure function that calculates the next state tree based on action and previous state tree.
Store — The store holds the state of the app. It exposes the state via getState(). It allows to update the state via dispatch(). It passes the action to the reducer, generating the next state. The Store updates the State and alerts all the Listeners.
7. AWS
AWS is a cloud service provider. For cloud, database storage it is widely used today. It is secured and scalable. Many web apps are deployed using AWS.