Apache Maven is an open source build automation tool.
N/A
Codemagic
Score 9.7 out of 10
N/A
Codemagic is a developer's CI/CD tool for mobile app projects. Build Android, iOS, React Native, Ionic, Unity, and Flutter projects on Codemagic. Codemagic uses its own CLI tools under the hood to perform complicated tasks like code signing and distribution to the stores. These are open-sourced and available on Github. Codemagic offers pay as you go pricing for teams as well as an all-inclusive option with an unlimited plan (called the professional plan). Codemagic is used…
$0
Pricing
Apache Maven
Codemagic
Editions & Modules
No answers on this topic
Linux Standard VM
$0.015 / minute
macOS Standard VM
$0.038 / minute
Linux Preium VM
$0.045 / minute
Windows Premium VM
$0.045 / minute
macOS premium VM
$0.095 / minute
Offerings
Pricing Offerings
Apache Maven
Codemagic
Free Trial
No
No
Free/Freemium Version
No
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
Optional
Additional Details
—
Professional plans available for $299/month. Perfect for teams who need fixed costs.
This includes:
Unlimited premium macOS VM minutes
Unlimited premium Linux VM minutes
Unlimited premium Windows VM minutes
Teams with unlimited users
3 concurrent builds
In-app support
Maven is great if you have an application with a lot of third-party dependencies and don’t want each developer to keep track of where the dependency can be downloaded. It’s also a great way to make it easy for a new developer to be able to build the application. It’s less suitable for simple projects without any third-party dependencies.
For companies currently investing in Flutter app deployment, the CD/CI automation that Codemagic brings to the table is a game-changer. Its decision-making process needs to consider all the architecture in place and in a common scenario with other programming frameworks, the initial investments can seem high. In this sense, Flutter will reduce programming staff needs as you can attack multiple target environments and platforms easily, and at the same time the effort to get it working on app stores is now improved thanks to the focus Codemagic gave to support the FLutter community in targeting this solution to ease the process. If you invest in Flutter, you have to invest in Codemagic.
Maven provides a very rigid model that makes customization tedious and sometimes impossible. While this can make it easier to understand any given Maven build, as long as you don’t have any special requirements, it also makes it unsuitable for many automation problems.
Maven has few, built-in dependency scopes, which forces awkward module architectures in common scenarios like using test fixtures or code generation. There is no separation between unit and integration tests
The overall usability of Apache Maven is very good to us. We were able to incorporate it into our company's build process pretty quickly. We deployed it to multiple teams throughout the entire enterprise. We got good feedback from our developers stating that Apache Maven has simplified their build process. It also allowed to to standardize the build process for the entire enterprise, thus ensure that each development team is using the same, consistent process to build code.
I can't speak to the support, as I've never had issues. Apache Maven "just works," and errors were user errors or local nexus errors. Apache Maven is a great build/dependency management tool. I give it a 9/10 because occasionally the error message don't immediately indicate a solution...but again, those errors were always user or configuration errors, and the Maven documentation is extensive, so I don't find fault in Maven, but in its users.
I have used the Slack channel without any problems, and I have gained a lot of feedback from using this tool. I have also been invited to provide reviews for the app before but in an "informal" manner, and using their own channels via Slack.
Ant, Maven's opposing framework, is often a point of comparison. Although Ant does not require formal conventions, it is procedural in the sense that you must tell Ant exactly what to do and when. It also lacks a lifecycle, along with goal definition and dependencies. Maven, on the other hand, requires less work as it knows exactly where your source code is as long as the pom.xml file is generated.
The steps to get Codemagic up and running are nothing compared to implementing a Jira solution and after using the CI/CD options it has enabled. For larger organizations that already have Jira, you might gain in the long run from features like automatic issue tracking and focused CI to remediate and test the apps. But if you are looking for true AGILE development, where you have teams that focus on value and need the CD process done easily, then Codemagic is a much better solution for emerging projects and companies to start.