Currently, most of the GIS applications in China are under secondary development. Because for applications, the advantages of secondary development are obvious.
1. Convenience
Secondary Development has a low technical level. What we need to achieve is not the GIS technology, but the specific application of all implementations.
Service. On the basis of understanding the business, it is convenient to use the GIS platform to develop related application software.
2. Quick Development
Generally, it is much more difficult to develop the GIS underlying platform, and the development cycle is also relatively long. Therefore, most highly targeted companies choose secondary
Development. That is to say, use the existing GIS platform to implement specific services. In this way, the development time and man-month can be greatly shortened.
3. Stability
We made secondary development because there are many mature GIS platforms. These platforms are the results of years of research by many technical elites.
And gradually becomes stable and reliable during the productization process. Of course, bugs in software are also common, but in general, currently well-known GIS platform Manufacturers
Commercial products are still stable.
However, secondary development is not perfect. After all, it is costly to use others' platforms, and other people's things are ready, but we want to expand it.
Helpless. It is worth noting that:
Currently, many GIS platform vendors publish their products in the form of controls. This makes our programming implementation very easy. However
There are great risks. During secondary development, many people are used to drag and drop controls directly to the form. You can do this, but the problem also exists.
Yes. When a component crashes, the entire application may crash. This is what we don't want to see. Most common crashes
It may appear when the control is created. When the control encounters an unexpected error, the creation fails, and the application crashes. Therefore
When developing these platforms, it is best to import the Type Library and then dynamically create controls. In this way, even if the control cannot be created successfully
Can be controlled.