- DE
- Services
- Our service portfolio
We bring your digital product vision to life, from crafting real-world testable prototypes to delivering comprehensive product solutions.
- Collaboration models
Explore collaboration models customized to your specific needs: Complete nearshoring teams, Local heroes from partners with the nearshoring team, or Mixed tech teams with partners.
- Way of working
Through close collaboration with your business, we create customized solutions aligned with your specific requirements, resulting in sustainable outcomes.
- Our service portfolio
- About Us
- Who we are
We are a full-service nearshoring provider for digital software products, uniquely positioned as a high-quality partner with native-speaking local experts, perfectly aligned with your business needs.
- Meet our team
ProductDock’s experienced team proficient in modern technologies and tools, boasts 15 years of successful projects, collaborating with prominent companies.
- Our locations
We are ProductDocic, a full-service nearshoring provider for digital software products, headquartered in Berlin, with engineering hubs in Lisbon, Novi Sad, Banja Luka, and Doboj.
- Why nearshoring
Elevate your business efficiently with our premium full-service software development services that blend nearshore and local expertise to support you throughout your digital product journey.
- Who we are
- Our work
- Career
- Life at ProductDock
We’re all about fostering teamwork, creativity, and empowerment within our team of over 120 incredibly talented experts in modern technologies.
- Open positions
Do you enjoy working on exciting projects and feel rewarded when those efforts are successful? If so, we’d like you to join our team.
- Candidate info guide
How we choose our crew members? We think of you as a member of our crew. We are happy to share our process with you!
- Life at ProductDock
- Newsroom
- News
Stay engaged with our most recent updates and releases, ensuring you are always up-to-date with the latest developments in the dynamic world of ProductDock.
- Events
Expand your expertise through networking with like-minded individuals and engaging in knowledge-sharing sessions at our upcoming events.
- News
- Blog
- Get in touch
20. Mar 2023 •3 minutes read
Low-code or code development: Let’s be clear
Danijel Dragičević
Software Developer
A low-code approach to software development offers a visual environment that enables users to build programs with little to no manual coding. Low-code solutions utilize premade components (graphics, buttons, text, connectors, etc.) for users to customize programs with simple drag-and-drop operations.
Non-technical people are the target of this strategy, but developers may also use it. They can create prototypes, test ideas, develop proof-of-concept, and extend functionality by writing custom code, depending on the platform.
What differentiates it from traditional coding?
The low-code environment provides a graphical user interface in place of traditional, hand-coded computer programming. Developers use prebuilt components, customized and combined, to create a functional flow for their program’s tasks.
In a low-code environment, we’d use three pre-existing connectors to create an application that receives HTTP requests, pulls data from a database, and presents results in JSON format. Set them up as necessary and connect them in the following order: HTTP -> DB -> JSON.
We don’t have to create everything from the start. The vendor already tests the components we choose to employ before they enter their environment, which gives them an advantage over conventional programming. Low-code platforms also automate a significant portion of the software delivery process. Our program can typically be versioned and deployed with just a few clicks.
Now developers can focus more on building apps and finding solutions to business issues rather than being required to set up the CI/CD infrastructure to send applications to production. It is important to note that some low-code platforms can create custom components and use them in conjunction with the existing ones. However, the platform vendor may restrict these customizations.
Most low-code platforms host apps on their private cloud, where we lease space for our apps. Some providers allow us to use their runtime in our on-premise cloud, in which case we can have applications operating in our private area. Anyhow, performing integration tests is a lot simpler when everything is in the cloud.
Low-code apps are more agile than traditional ones because of all these features that enable quick and easy adjustments.
What are the challenges?
Now that we’ve highlighted some of the benefits of adopting low-code platforms, it’s fair to describe some drawbacks.
First and foremost is flexibility, which is limited. There aren’t many possibilities to tailor the application precisely to our needs because the amount of functions we can employ is constrained. If our platform cannot provide the specific functionality we require, our development team will have to implement it manually using traditional programming. Combining our parts with the platform’s current offers can frequently take longer and cost more than creating an entire solution from scratch. Therefore, before relying on the low-code method, it is crucial to consider whether our applications need specific actions.
The main concern with low-code systems is an excessive reliance on manufacturers. Automated code migration from one vendor to another is nearly impossible if we decide to switch vendors for whatever reason. Additionally, we must consult documentation and policies to see whether connecting applications from two different low-code platforms is possible and under which conditions.
While some systems already have their connectors in place, others will need us to create our own solutions that act as middleware to transmit data from one side to the other. Our applications will be mostly housed on a cloud that belongs to the manufacturer, which can cause some security issues. There won’t be any routine upgrades if these platforms go out of business or cease supporting a particular version of their software, which will prevent businesses from reducing their security risks.
Applications written in low-code are commonly criticized for using resources inefficiently. The performance of these programs is almost always noticeably worse when compared to applications written in real programming languages (like C# or Java). When the program has a large number of users or records to process, this problem becomes more visible. Poor resource handling in cloud computing might result in unexpected high-cost rates for companies running them.
Conclusion
Unfortunately, there is no instant answer. We select the development style based on our project’s originality, budget, requirements, and timeframe.
When comparing low-code development to traditional, we can say that low-code development has advantages—for example, delivering products quickly and responding faster to market or business changes.
Traditional development, on the other hand, allows us to achieve complete personalization. We can add any required functionality to make our app as scalable and portable as needed, as all the code is written from scratch.
If you are in doubt about which approach is best for you, please get in touch with us.
Danijel Dragičević
Software DeveloperDanijel has been a member of our family since April 2014. He has spent the last few years developing integrations using Java and MuleSoft’s Anypoint Platform by following the API-led connectivity strategy.