Friday, May 24, 2019

What is Maven?

Managing multiple projects is a difficult task when you want to maintain the consistency of the build process across your projects. Let's talk about how can use maven to solve these problems.

What is Maven?


As we know, Maven is a project management tool that is used by lots of developers to complete a build life cycle because maven provides a framework which we can automatically provide plug and play stuff for maintaining our build process across our projects.


What are the different features of Maven?

Before getting into a background of how a maven works, We should have a basic idea about the features of maven. So maven provides something called as model-based development or the model-based builds. Maven can build the jars, wars or it can create metadata out of the project. If we want to build a python project, we can have the Python plugins and create some python packages. If we are using a java project we can create jars or wars depending on what type of project we do. That is one of the features of Maven.

Another part is release management where we can create a release and then upload that into a distributed system or maven repository or any other repository where people can take it from. Maven can do that, so it can do the release management and the release distribution and the publication part as well. Along with that, it can maintain the dependencies, so as a single point of control, Maven can control the dependencies of our project.
We don't have to package the jars or the dependent wars of the jars into our project. Those will be used at the build time, so our repository or the codebase size will be reduced compared to storing everything into our project. So maven can help in downloading these dependencies and managing those dependencies at the build time.

Maven also provides something called plugin development where we can create multiple plugins and plug those plug tools into the project and use them based on the tasks whenever you need it. So for example, if we want to push some package on to our host, we can do it as a part of our plug-in itself. There could be a task, for example, our post-build process, after the way it is executed after package is completed we can create plugins to create the task after the plugin or the package is completed for the particular project.
So we can trigger the plugin after the package got created and then we can push that onto the remote machine or something like that. With the plugins we  can create whatever we want. There are lots plugins. Basically we should know there are multiple plugins and we can create any number of plugins and the we can plug and play inside the maven project.





Saturday, May 18, 2019

Angular

What exactly is Angular?

AngularJS is a leading framework for building javascript heavy single page based web applications. Single page apps or SPA load the entire content of a site within a single page. Single page app is usually an index.html file. This means that once the main page is loaded, clicking on links will not reload the entire page, but simply update sections within the page itself.

The popularity of  SPA based web apps has taken off based on the fact they allow us to deliver rich, dynamic and fast loading content that mimics that of desktop applications. One big difference between Angular based sites and traditional ones is that Angular expects the browser to build the page. The server sends to the browser all the data to build a page which includes the HTML, CSS and Javascript files and the browser does the work of building the final template that's displayed in a web page.

This may seem like a lot of work for the browser but it actually results in much faster load times. When compared to more traditional applications that use PHP or Java, the server is responsible for all the heavy lifting. This includes accepting requests, fetching the data, along with building the final page.

In addition to the increases in speed and performance, Angular allows us to write much more succeded code than using plain javascript. We are also able to track, process and display changes from the user using the magic of data binding.

Angular was developed with three key concepts in mind;

  1. Make it modular
  2. Make it testable
  3. Make it maintainable

My Experience in AF Final Project

AF final project!!! Actually, I was not ready to do a project. I had to go to work daily and study for final exams. I didn't even kno...