SlideShare una empresa de Scribd logo
1 de 19
Beef up your Android apps,
     using Java tools
  27/03/2013, 17h - 17h30 - Salle Miles Davis A
Beef up your Android apps, using
           Java tools




     Jérôme Van Der Linden
       & Stéphane Nicolas
     OCTO Technology consultants

       @octotechnology             27 au 29 mars 2013
Jérôme Van Der Linden
 • Java / Android / JEE Architect
  •   Design, development, audit
  •   Industrialization of software engineering


 • OSS softwares on GitHub
  •   Android Holo Colors, Sonar Android Lint Plugin


 • Appaloosa Store co-founder
Stéphane Nicolas
 • 17 years of Java experience
  •   Mostly teaching, programming, designing.


 • OSS softwares on GitHub
  •   RoboSpice, Quality Analysis Tools for Android, RoboDemo
  •   Contributor of android maven plugin


 • Quebecer-like, woodworker wanna be, OSS-fan, Android
   coder
Quality Tools Available on Android
    TestDroid                                Test Tools                               Reporting Tools                                      Sonar
                                                                                                                                                      Spoon
                 Monkey
                 Runner                                                                                                       CheckStyle
                                   FEST-
                                  Android                                                                              PMD

                                                    Mockito                                            findbugs

                                                                                              Lint
                                                                   EasyMock




Calabash
               UI
                       Robotium             Robolectric       JUnit           Quality Tools          Emma         Cobertura   Jacoco       Clover
                                                                                                                                                     Code
           Automator
                                                                              For Android
                                                                                                                                                    coverage
                                                                       Emulator           Maven


                                                          Device
                                                                                                       Jenkins

                                      Andro VM
                                                                                                                      Ant
                          Vogar


                                                                   http://goo.gl/pdwnq                                        Gradle
https://github.com/stephanenicolas/Quality-Tools-for-Android

                  (http://goo.gl/pdwnq)
                                                               27 au 29 mars 2013
Initial Setup
#install Eclipse Juno or IntelliJ
                                                  #install maven 3.0.3+               Maven    Jenkins
#install ADT (for Eclipse)
                                                  #install Jenkins
#install a few Android SDK (i.e: 8, 11, 14, 17)
                                                  #install Jenkins Android Emulator Plugin
#install Hardware Acceleration from Intel

#install X86 android emulator with Hardware
Acceleration Support



    #install Sonar                                       Cobertura   findbugs   PMD    Check
                                                                                               Sonar
                                                                                       Style



    #install the Sonar Android Lint Plugin
    > git clone git@github.com:jeromevdl/sonar-android-lint-plugin.git                          Lint

    > mvn clean install && cp target/*.jar [SONAR_HOME]/extensions/plugins/
    > sonar.sh restart
                                                                                                Emma
    #install the Sonar Emma Plugin
Getting started
 # clone the repository on GitHub
 > git clone git@github.com:stephanenicolas/Quality-Tools-for-Android.git




            This projects combines many Quality Tools for Android.
                   It demonstrates how to set up those tools.

              It is not intended to be used as a maven archetype.
                   No project will need all of those technologies,
                             take only what you need.

        All configurations work both in IntelliJ, Eclipse, Maven CLI and
                                   Jenkins.
Project Structure



                        •Main app + Robolectric : Maven Android project
                        •Shared configuration : Maven parent project
                        •Android Junit Tests : Maven Android project
                        •UI Automator Tests : Maven Java project




          Eclipse projects follow maven submodules.
Maven Profiles
                                                                             Quality checks
                                                                              (Checkstyle +
            Junit + Robotium   Robolectric   UIAutomator   Code coverage                      Sonar
                                                                           findbugs + PMD +
                                                                                  lint)


standard


 emma


cobertura

    ui
automator

 spoon


 jacoco
Standard profile :
Running tests and Quality checks




                    Robotium          JUnit         Robolectric             UI
                                                                        Automator



                               Lint           findbugs            PMD               Check
                                                                                    Style




                   # run all tests
                   > mvn clean install
emma profile :
JUnit tests and Emma code coverage in Sonar
          Robotium      JUnit         Emma           Sonar




   Lint          findbugs       PMD          Check
                                             Style




# run standard junit tests and get code coverage
> mvn clean install –P emma

# Report in Sonar
> mvn sonar:sonar –P emma
cobertura profile :
Robolectric tests and Cobertura code coverage in Sonar
          Robolectric    Cobertura         Sonar




   Lint            findbugs          PMD           Check
                                                   Style




# run robolectric tests and get code coverage
> mvn clean cobertura:cobertura –P cobertura

# Report in Sonar
> mvn sonar:sonar –P cobertura
jacoco profile :
Robolectric and standard tests and Jacoco code coverage in Sonar
          Robotium         JUnit         Robolectric           Jacoco   Sonar




   Lint         findbugs           PMD                 Check
                                                       Style




# run robolectric tests and get code coverage
> mvn clean install –P jacoco

# Report in Sonar
> mvn sonar:sonar –P jacoco
ui automator profile :
Running UI Automator tests

           UI            Sonar
       Automator




Lint          findbugs           PMD   Check
                                       Style




# run UI Automator tests
> mvn clean install –P uiautomator

> mvn sonar:sonar –P uiautomator
Spoon profile :
Running Junit & Robotium via Spoon

                Robotium         JUnit




Lint     findbugs          PMD           Check   Spoon
                                         Style




  # run JUnit & Robotium tests via spoon
  > mvn clean install –P spoon
Conclusion

                 Let’s take advantage of Java maturity.
             Testing and building more robust apps can be
                                 easy.

               Choose technologies that suit your needs.
                  qrcode.12511021.png




             Clone our project on GitHub, try it, contribute !




                                        http://goo.gl/pdwnq
Live Demo




https://github.com/stephanenicolas/Quality-Tools-for-Android

                  (http://goo.gl/pdwnq)
                                                               27 au 29 mars 2013
Question and comments ?

Más contenido relacionado

Destacado

Destacado (7)

Webinar: Open Source Business Intelligence Intro
Webinar: Open Source Business Intelligence IntroWebinar: Open Source Business Intelligence Intro
Webinar: Open Source Business Intelligence Intro
 
Android development
Android developmentAndroid development
Android development
 
Tech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn Tới
Tech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn TớiTech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn Tới
Tech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn Tới
 
Adopting Open Source Business Intelligence: Who, Why and How
Adopting Open Source Business Intelligence: Who, Why and HowAdopting Open Source Business Intelligence: Who, Why and How
Adopting Open Source Business Intelligence: Who, Why and How
 
Open Source Business Intelligence
Open Source Business IntelligenceOpen Source Business Intelligence
Open Source Business Intelligence
 
Mondrian and OLAP Overview
Mondrian and OLAP OverviewMondrian and OLAP Overview
Mondrian and OLAP Overview
 
Jaspersoft Webinar deck
Jaspersoft Webinar deckJaspersoft Webinar deck
Jaspersoft Webinar deck
 

Similar a Devoxx France 2013 : Musclez vos apps android avec les outils du monde java

2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648
Eing Ong
 
Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012
Agora Group
 
Mwri security testing-android-with-mercury-2013-04-02
Mwri security testing-android-with-mercury-2013-04-02Mwri security testing-android-with-mercury-2013-04-02
Mwri security testing-android-with-mercury-2013-04-02
Droidcon Berlin
 
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Mathias Seguy
 
Rationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinetRationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinet
Paris Open Source Summit
 
CiklumJavaSat15112011:Alexey Trusov-Code quality management
CiklumJavaSat15112011:Alexey Trusov-Code quality managementCiklumJavaSat15112011:Alexey Trusov-Code quality management
CiklumJavaSat15112011:Alexey Trusov-Code quality management
Ciklum Ukraine
 
Mobile testingartifacts
Mobile testingartifactsMobile testingartifacts
Mobile testingartifacts
Pragya Rastogi
 

Similar a Devoxx France 2013 : Musclez vos apps android avec les outils du monde java (20)

A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android Applications
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648
 
PhoneGap Day 2016 USA
PhoneGap Day 2016 USAPhoneGap Day 2016 USA
PhoneGap Day 2016 USA
 
Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012
 
Mwri security testing-android-with-mercury-2013-04-02
Mwri security testing-android-with-mercury-2013-04-02Mwri security testing-android-with-mercury-2013-04-02
Mwri security testing-android-with-mercury-2013-04-02
 
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Process Matters (Cloud2Days / Java2Days conference))
Process Matters (Cloud2Days / Java2Days conference))Process Matters (Cloud2Days / Java2Days conference))
Process Matters (Cloud2Days / Java2Days conference))
 
XP Days UA Pecha kucha
XP Days UA Pecha kuchaXP Days UA Pecha kucha
XP Days UA Pecha kucha
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
 
Rationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinetRationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinet
 
Embedded system-Introduction to development cycle and development tool
Embedded system-Introduction to development cycle and development  toolEmbedded system-Introduction to development cycle and development  tool
Embedded system-Introduction to development cycle and development tool
 
CiklumJavaSat15112011:Alexey Trusov-Code quality management
CiklumJavaSat15112011:Alexey Trusov-Code quality managementCiklumJavaSat15112011:Alexey Trusov-Code quality management
CiklumJavaSat15112011:Alexey Trusov-Code quality management
 
IoT Tech Day Coding Mojo slides. Utrecht, April 2016
IoT Tech Day Coding Mojo slides.  Utrecht, April 2016IoT Tech Day Coding Mojo slides.  Utrecht, April 2016
IoT Tech Day Coding Mojo slides. Utrecht, April 2016
 
Eco system apps
Eco system appsEco system apps
Eco system apps
 
Victor CG Erofeev - Metro UI
Victor CG Erofeev - Metro UIVictor CG Erofeev - Metro UI
Victor CG Erofeev - Metro UI
 
Phonegap Development & Debugging
Phonegap Development & DebuggingPhonegap Development & Debugging
Phonegap Development & Debugging
 
Mobile testingartifacts
Mobile testingartifactsMobile testingartifacts
Mobile testingartifacts
 
Ci2d - The Colossal Hood For Agile Development And Deployment
Ci2d - The Colossal Hood For Agile Development And DeploymentCi2d - The Colossal Hood For Agile Development And Deployment
Ci2d - The Colossal Hood For Agile Development And Deployment
 
Ci for Android
Ci for AndroidCi for Android
Ci for Android
 

Más de jeromevdl

Más de jeromevdl (11)

Message-Driven Architecture on AWS
Message-Driven Architecture on AWSMessage-Driven Architecture on AWS
Message-Driven Architecture on AWS
 
Do more with less code in serverless
Do more with less code in serverlessDo more with less code in serverless
Do more with less code in serverless
 
Do more with less code in a serverless world
Do more with less code in a serverless worldDo more with less code in a serverless world
Do more with less code in a serverless world
 
DevopsDays Geneva 2020 - Compliance & Governance as Code
DevopsDays Geneva 2020 - Compliance & Governance as CodeDevopsDays Geneva 2020 - Compliance & Governance as Code
DevopsDays Geneva 2020 - Compliance & Governance as Code
 
Softshake 2017 - Développer un chatbot Alexa
Softshake 2017 - Développer un chatbot AlexaSoftshake 2017 - Développer un chatbot Alexa
Softshake 2017 - Développer un chatbot Alexa
 
Chatbots buzzword ou nouvel eldorado
Chatbots   buzzword ou nouvel eldoradoChatbots   buzzword ou nouvel eldorado
Chatbots buzzword ou nouvel eldorado
 
Management projet vs management produit
Management projet vs management produitManagement projet vs management produit
Management projet vs management produit
 
Softshake - Offline applications
Softshake - Offline applicationsSoftshake - Offline applications
Softshake - Offline applications
 
DroidconUK 2013 : Beef up android apps with java tools
DroidconUK 2013 : Beef up android apps with java toolsDroidconUK 2013 : Beef up android apps with java tools
DroidconUK 2013 : Beef up android apps with java tools
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
 
Metroide
MetroideMetroide
Metroide
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Devoxx France 2013 : Musclez vos apps android avec les outils du monde java

  • 1. Beef up your Android apps, using Java tools 27/03/2013, 17h - 17h30 - Salle Miles Davis A
  • 2. Beef up your Android apps, using Java tools Jérôme Van Der Linden & Stéphane Nicolas OCTO Technology consultants @octotechnology 27 au 29 mars 2013
  • 3. Jérôme Van Der Linden • Java / Android / JEE Architect • Design, development, audit • Industrialization of software engineering • OSS softwares on GitHub • Android Holo Colors, Sonar Android Lint Plugin • Appaloosa Store co-founder
  • 4. Stéphane Nicolas • 17 years of Java experience • Mostly teaching, programming, designing. • OSS softwares on GitHub • RoboSpice, Quality Analysis Tools for Android, RoboDemo • Contributor of android maven plugin • Quebecer-like, woodworker wanna be, OSS-fan, Android coder
  • 5. Quality Tools Available on Android TestDroid Test Tools Reporting Tools Sonar Spoon Monkey Runner CheckStyle FEST- Android PMD Mockito findbugs Lint EasyMock Calabash UI Robotium Robolectric JUnit Quality Tools Emma Cobertura Jacoco Clover Code Automator For Android coverage Emulator Maven Device Jenkins Andro VM Ant Vogar http://goo.gl/pdwnq Gradle
  • 6. https://github.com/stephanenicolas/Quality-Tools-for-Android (http://goo.gl/pdwnq) 27 au 29 mars 2013
  • 7. Initial Setup #install Eclipse Juno or IntelliJ #install maven 3.0.3+ Maven Jenkins #install ADT (for Eclipse) #install Jenkins #install a few Android SDK (i.e: 8, 11, 14, 17) #install Jenkins Android Emulator Plugin #install Hardware Acceleration from Intel #install X86 android emulator with Hardware Acceleration Support #install Sonar Cobertura findbugs PMD Check Sonar Style #install the Sonar Android Lint Plugin > git clone git@github.com:jeromevdl/sonar-android-lint-plugin.git Lint > mvn clean install && cp target/*.jar [SONAR_HOME]/extensions/plugins/ > sonar.sh restart Emma #install the Sonar Emma Plugin
  • 8. Getting started # clone the repository on GitHub > git clone git@github.com:stephanenicolas/Quality-Tools-for-Android.git This projects combines many Quality Tools for Android. It demonstrates how to set up those tools. It is not intended to be used as a maven archetype. No project will need all of those technologies, take only what you need. All configurations work both in IntelliJ, Eclipse, Maven CLI and Jenkins.
  • 9. Project Structure •Main app + Robolectric : Maven Android project •Shared configuration : Maven parent project •Android Junit Tests : Maven Android project •UI Automator Tests : Maven Java project Eclipse projects follow maven submodules.
  • 10. Maven Profiles Quality checks (Checkstyle + Junit + Robotium Robolectric UIAutomator Code coverage Sonar findbugs + PMD + lint) standard emma cobertura ui automator spoon jacoco
  • 11. Standard profile : Running tests and Quality checks Robotium JUnit Robolectric UI Automator Lint findbugs PMD Check Style # run all tests > mvn clean install
  • 12. emma profile : JUnit tests and Emma code coverage in Sonar Robotium JUnit Emma Sonar Lint findbugs PMD Check Style # run standard junit tests and get code coverage > mvn clean install –P emma # Report in Sonar > mvn sonar:sonar –P emma
  • 13. cobertura profile : Robolectric tests and Cobertura code coverage in Sonar Robolectric Cobertura Sonar Lint findbugs PMD Check Style # run robolectric tests and get code coverage > mvn clean cobertura:cobertura –P cobertura # Report in Sonar > mvn sonar:sonar –P cobertura
  • 14. jacoco profile : Robolectric and standard tests and Jacoco code coverage in Sonar Robotium JUnit Robolectric Jacoco Sonar Lint findbugs PMD Check Style # run robolectric tests and get code coverage > mvn clean install –P jacoco # Report in Sonar > mvn sonar:sonar –P jacoco
  • 15. ui automator profile : Running UI Automator tests UI Sonar Automator Lint findbugs PMD Check Style # run UI Automator tests > mvn clean install –P uiautomator > mvn sonar:sonar –P uiautomator
  • 16. Spoon profile : Running Junit & Robotium via Spoon Robotium JUnit Lint findbugs PMD Check Spoon Style # run JUnit & Robotium tests via spoon > mvn clean install –P spoon
  • 17. Conclusion Let’s take advantage of Java maturity. Testing and building more robust apps can be easy. Choose technologies that suit your needs. qrcode.12511021.png Clone our project on GitHub, try it, contribute ! http://goo.gl/pdwnq