I want to know if there is anyway can compile appian code in local? Or use git to manage the source code.(Source code not the package download from web). What problem we face is how to develop in parallel。we are a huge team (100 developers). When we develop a new function, we usually need to use the same object. But appian can not develop in parallel. So we want to find if there is any way we can compile appian code in local.
Discussion posts and replies are publicly visible
Appian does not support local compilation or Git-based source code management for core objects. Development must be done directly on the Appian server, with objects locked when opened to prevent parallel edits on the same components. For large teams like 100 developers, multiple separate Appian environments with coordinated deployments are needed since true parallel development on the same objects is not possible(Essentially doing "parallel work on different features" rather than "parallel work on the same codebase).
There is no code compilation in Appian. Typical project teams are not more than 5 people. In my experience these issues just do not exist when developing with Appian.
Abstract this problem away from Appian for a second, and apply "general cloud platform development". The fundamental issue you would run into, even with a small team, is - if there's only one development cloud environment where do you test your code before merging it into the main branch of that environment? Compiling locally and testing globally is not a great way to do software development at a rapid pace since developers collide with each others' changes pretty regularly. So local changes need to be tested locally to some degree, then merged back up. Stack infrastructure teams run into this problem on a daily basis, so they develop tooling to help mitigate. With Appian, we don't really have an option for that kind of tooling - it's a low code platform.
Other low code platforms that claim to have branching have their own niche issues with that branching - issues that stem from the fact that in the environment there is one version that everyone tests on. There's no equivalent of changing branches across every object in the environment. These issues are even more apparent in environments where the data model is entangled with documents and context-trained AI models. IMO this is where Appian's controversial-to-developers 'no branching' stance is actually not a bad thing.
For your project, you'll want to figure out a governance model and a separation of apps based upon what makes sense. This will usually need a strong architect / set of tech leads to agree on how things work, especially for common functionality. I'll throw out there that 100 developers is entirely too many for a single project, Appian or not. There's simply too many lines of communication to manage.
As you say typical project teams are not larger. If I want to refactor our project into JAVA.Is there any quick way? Or can I just remake it based on my business needs?
This is not possible, nor is advised for apps built on Appian. Stories/features should be prioritised and segregated between developers so that multiple devs are not dependent/working on same object at the same time. Such overlaps should be avoided/minimised in a sprint.
There is no quick way to do this. Appian takes away most of the technical heavy lifting which you would have to build yourself when building a similar app in Java.