2010-01-29 11 views
5

Soy científico informático y he estado trabajando con Java principalmente para desarrollar aplicaciones. Acabo de ser contratado en una empresa que hace proyectos con ArcGIS. La compañía ha contratado a un ingeniero eléctrico para desarrollar los proyectos de arcGIS. Este ingeniero solía personalizar ArcMap con VBA y últimamente extensiones con .NET y C#.ArcGIS Development.Java vs .Net (C#)

Quiero tomar una nueva ruta y comenzar a usar ArgGIS Engine con Java. Quiero saber si esta elección es correcta. ¿Alguno de ustedes ha estado desarrollando con Engine-Java y qué tan difícil es (El uso de JNI -que tengo poco conocimiento- lo está haciendo más difícil?). También tengo un poco de experiencia con .NET y C++ pero no con C#. ¿Tendré una gran curva de aprendizaje con esta ruta?

¿Cuáles son las ventajas, desventajas y limitaciones de cada método?

+0

Bueno, si conoce Java, entonces no tiene ningún problema con C#. Son tan similares dos idiomas diferentes puede ser. Es casi la misma sintaxis. – Jonas

+0

Sí, pero sé todo sobre netbeans y nada sobre VS –

+0

Tome un breve tutorial sobre VS, entonces sabrá lo básico en unas pocas horas. Aprenderá más cuando trabaje con él. – Jonas

Respuesta

4

Pregunta difícil de contestar.

  • La opinión general parece ser que C# es fácil de aprender si conoce Java.
  • En mi humilde opinión, su mayor problema será aprender y manipular el intrincado y complejo modelo de objetos ArcGIS. La elección del idioma es probablemente secundaria.
  • Mi instinto es que C# /. Net es probablemente más popular para la programación de escritorio con ArcGIS, por lo que obtendrá más apoyo de la comunidad con eso. Pero no sé Claramente hay un lot of folks usando Java with ArcGIS - Sospecho que es principalmente el trabajo del servidor, pero no estoy seguro. Puede averiguar cuán popular es ArcEngine con Java al consultar la actividad del foro de ESRI.

EDIT. Probablemente necesites decidir si aprender C# va a ser valioso en el futuro para tu empleador (y tu carrera), y equilibrar eso con alguna evaluación de si usar Java con el motor ArcGIS es inusual, y por lo tanto más arriesgado. Solo tú puedes responder la primera pregunta.

+2

+1: su segundo punto lo clava. Cualquiera que sea el idioma que elija, siempre está programando ArcObjects. El lenguaje en sí mismo es simplemente el pegamento que los mantiene en su lugar (si tiene suerte). He programado ArcGIS en VBA, VB .Net, C#, F #, y son las partes de la aplicación no relacionadas con ArcGIS donde la elección del idioma es más importante. – cfern

1

me iría a .NET y C#

Si conoces Java y C++ que C# debe ser fácil. Simplemente tendrá que encontrar el camino a través del framework .net, eso es todo.

Estará seguro con C# si alguna vez tiene que hacer alguna aplicación de Internet enriquecida en combinación con arcgis y Silverlight (C#).

3

Absolutamente en todos los aspectos sugiero que te quedes con C# /. Net sobre Java. La última vez que miré (tome esto con un grano de sal), la inter-opción Java Library + COM hecha con ArcGIS es bastante lenta cuando se trabaja con ciertos elementos (Arrays, oh god the arrays), también estoy bastante seguro de que Java lo hará probablemente sea el próximo idioma que se colocará en el bloque de corte en el futuro cercano (VB6 ahora está recibiendo el hacha). Además, la comunidad java de ESRI es bastante pequeña en comparación con su C#/.NET (sin embargo, unas 50 veces más grande que su C++ :()

+0

Hay más visitas para Java que C# cuando busco en el sitio de ESRI. Me sorprendió. Probablemente, ¿algo del servidor web no es un escritorio? – MarkJ

+0

La diferencia clave que he notado en lo que respecta es la CALIDAD sobre la cantidad. Consulte también su red de desarrollo ESRI (EDN). Al mirar rápidamente los tutoriales y el código de muestra cargado, Java realmente no está allí. Sin embargo, no importa cómo lo haga. Trabajar con ArcEngine/ArcObjects es doloroso. Muy doloroso. Desde mi experiencia laboral, hemos recibido el mejor apoyo cuando se trata de C# /. Net. – UberJumper