Thursday, August 18, 2016

Gradle, Groovy, and Great fun for the Love of Learning Gradle

Gradle - Why I ditched learning Maven or Ant and went straight to gradle!


Why I choose this tool...


Top 3 Reasons!

Reason 1:

It has the ability to check connections and ports to applications and return passed states in less than 20 seconds.

Reason 2:

It is the primary tool to build Android which cuts your time to production (making you money quickly)

Reason 3:

It is built for the t-shaped developer and allows for more agile methodologies so that you can ensure your customer, qa team.  This ensures teams can collaborate quickly and unlike Maven and Ant...  Gradle will give you a huge advantage over a team where they buy multiple systems, multiple software packages, and multiple variables to test across multiple systems.
The savings in: time, production, and test are enormous.


Supporting data and why I made the leap towards

new Gradle(because, +  "I, am a.cheap bastard");

Gradle allows you to add and re-use custom build scripts using basic logic.  Gradle uses the JVM in a manner of build-to-convention...

This means it works like Ruby(my favorite programming language and scripting tool) where it sets up the folders in a MVC format, so that you can quickly address missing dependencies, and so forth.  For now Gradle refers to this as a "declarative model" within the DSL.

Gradle does not use XML like: (Maven or Ant) it uses a format that allows for logic, vs. systematically checking through unneeded instructional code rather than running on a more simplistic approach using a scripting language called Groovy but if you choose to you can write it in Java as well or even in Scala(I don't know well enough to speak too).

Imagine that, something more versatile than Maven, or Ant, that does more with less.  It is easy to configure and makes my Android apps work seamlessly across all APIs from 15-22 and at the time of writing this the latest Android flavor was Android 6.0 Marshmallow on a device called Nexus 6P.

/* Now time to get off topic "you can skip the comment section if you like:

- I wanted to get a job about a few months ago, and I spent about 3 weeks researching what development teams were using and what was the largest and most powerful language and finally it was revealed.  It was JAVA!
Java runs Android, Gradle runs Android, and Android is sold more than iPhone and that makes JAVA the most used application in the world.

So I put time into my Android development and if you ever get curious as to what I am building, imagine retirement in Hawaii, coding software for fun and actually getting paid for it.

I had found a dream job knowing only 2 things:

- Basic Syntax and scripting as well as how to communicate effectively with even the most difficult team members and I broke the barriers in my head to talk to international communities that even through language barriers I was able to learn that Gradle is here to stay and Java is not going anywhere.

- Always ask yourself can I do it faster with less code and be platform dependent (master that and even a company like Google (Android) will look at you twice

*/

Gradle Build Scans will categorize your projects into models for for even external libraries(JAVA EE) and will even give them tags so you can reference later on for ease of use.

It supports incremental builds, and updates which code to run that has been changed.

Example:

Ant script:
<project>
    <target name="oldschool.Ant.Script">
          <echo message="Running old school Ant.Script- Please wait while it checks if you spelled everything correctly! and that you closed all tags sorry its taking forever LOL"/>
     </target>
</project>


Groovy script:
apply plugin: 'java'
sourceSets.main.java.srcDirs = ['src/java']


Anyways as you can see the code is less, and its free under the Apache license.

If you want to learn Gradle please take some time to visit:

https://gradle.org/udacity-gradle-for-android-and-java-training/

If you want to download the free version visit:

https://gradle.org/gradle-download/






No comments:

Post a Comment