Almost every project has to solve the same problems. This led
to the idea of using codes from one shared library. Everyone certainly
likes it, but still, not many companies decide to actually do it.
We've decided to offer this service and to program code libraries
for a partial cost of the project, plus we ensure their further use.
Using shared libraries, you can create your project and save money.
Develop only application logic
Outsourced code makes your project code simpler, cleaner,
clearer, easier to test, and more reliable. It directly
affects your app performance, but is not visible to your
users. By sourcing code into a shared library, you'll
save a lot of time.
Multiplatform approach
All our libraries are mutiplatform without exception.
They support Windows, Linux, OSX, Windows Phone, Android,
and iOS operating systems, Intel and ARM architectures.
Web environments (using client-side Webassembly) and web
servers (such as Apache2 libraries) are also supported.
The same application interface for all OS and
architectures is used. However, it must be noted that
not all versions for operating systems and architectures
are written and implemented at the same time.
Testing
Our libraries will be well covered with unit tests as
they can be used in various applications and areas where
extreme reliability is needed, such as medical, automotive,
or others. There are various mock classes
available to easily run BDD tests of your application and
unit tests of your project‘s components.
Tests you won't run
To be perfectly honest, we know that you probably don’t
take testing of certain parts of the code too seriously.
But even one error can affect the whole app performance
and mean additional costs. You can avoid this using our
libraries.
Best value for your money
How is this possible? Unification will allow code sharing and development costs sharing
among multiple participants. As a result, you will
achieve significant time and money savings together with a considerable
increase in the quality of the source code.
1
Save on troubleshooting
If the code is well covered by unit tests, it
can obviously be considered more reliable.
Each individual unit test is a guide
on a proper use of your code. Full unit tests
coverage is also a prerequisite for various
approvals and certifications. It will save you
considerable money as well as time for creating
good algorithms.
2
Save on training employees
If you hire a new programmer, no doubt they will
spend a number of days learning the existing code.
You can greatly reduce this time if there is good
code documentation. You can reduce it even
more by using unified codes that programmers
already know.
3
Save on certification
Certification of your software always means
considerable costs and time. Save on software
development by building it faster from certified
components.
Moreover, your application-specific part of code
will be shorter and easier to certify.
4
Save on multiplatform approach
Using our shared library, your app can be
developed for multiple platforms with a single
code. Even if you acknowledge the differences
among platforms and want to have several different
versions, still there will be a lot of common code
that can be shared.
Typically, data structures, data processing, and
application logic are shared. Despite the differences
among various platforms, you will significantly
save your resources.
String processing
A short story illustrating the advantages of shared code
Montgomery corporation (a fictitious name) had a great application
for invoice management. When they hired an outsourced programmer,
it turned out that it took him longer to work with the code than
they had expected. He complained that the code was hard to read,
moreover, a great number of code lines would do just one basic
operation, so he had to learn more source code to modify it. Similar
but not the exactly the same were blocks of code for file paths
processing, quarrying data strings, creating strings from smaller
segments, and wrapping them to a certain length.
A project manager of the company did not criticize the quality of
the code, but began to think how to optimize the work. He realized
that he needed to arrange these code blocks in a set of functions
and move them to the library out of the application logic. He
thought that it would take the programmer a great deal of time,
and it would be hard to explain such costs to his boss because
nothing would radically improve for the application user. Initially,
he laughed at the offer of Software Service to optimize code.
"We won't share our code with anyone!" But after a while, he figured
that sharing string processing will not threaten the business since
the product know-how is simply not shared. In the end, one-tenth of
the cost of the solution completely persuaded him.
Yet, the processing cost was higher as he did not count unit tests.
They wouldn‘t invest much in the new code, though an error in it would
be as serious as an error in any other segment of the code for their
users. Users don‘t know in which function the exception was thrown.
But the new code had to be universal, it had to be suitable for various
uses. Therefore, it was tested more thoroughly to meet all the client's
requirements in this particular case. To conclude, Software Service
saved Montgomery corporation about 80% of the total cost. This is
undoubtedly an outstanding result, moreover, Montgomery is the owner of
the code and able to customize it any time.