¿Cómo porto el software que he escrito para Windows a Ubuntu?

10

He escrito paquetes de software para la plataforma Windows.

Quiero cambiar a Ubuntu. En este momento uso Visual Basic y Bases de datos de acceso. ¿Alguien puede sugerir qué debo usar para reescribir mi software para la plataforma Linux?

Debe saberse que soy un novato en Linux. Cualquier ayuda será MUCHO apreciada.

Mel Burnett
fuente
1
Debe preguntar esto en un foro de codificación, es decir. stackoverflow.com (alguien probablemente moverá su pregunta allí;)) Pero en resumen: lenguajes perl / python y MySQL de SQLite como base de datos. Ah, y si lo haces con ellos, también puedes hacerlo utilizable en ambas plataformas;)
Rinzwind
1
La programación para Ubuntu ha sido uno de los temas de este sitio desde siempre. Incluso tenemos una etiqueta para ello. Incluso está en las preguntas frecuentes, punto 3. Esta pregunta puede ser demasiado abierta, pero no está fuera de tema.
Javier Rivera
1
Esta es una pregunta sobre el tema, gente. Nosotros también manejamos el desarrollo.
Oli

Respuestas:

4

Como ha dicho @Rinzwind, encontrará respuestas más precisas en stackoverflow, pero para empezar ...

Le recomendaría que intente portar a Linux su conocimiento de programación en lugar de su código, y pruebe Python. Es un lenguaje simple, incluso potente, totalmente multiplataforma y con una curva de aprendizaje muy agradable. Para el acceso a la base de datos hay muchos frameworks y bibliotecas (SQLAlquemy, por ejemplo) y para la GUI puede probar wxPython, QtPython, ... por ejemplo. Si desea desarrollar aplicaciones de bases de datos, debe probar Dabo

Pero, si aún desea intentar portar su código VBase, puede intentar con:

  • Gambas, que es un entorno de desarrollo basado en un intérprete básico
  • Mono, que es un marco similar a .NET para Linux. (ver también mono-desarrollo ide)

Y para el acceso a la base de datos ... lo siento, pero creo que no puedo ayudarte con eso, es posible que estos marcos tengan algún soporte de base de datos

Espero que esto ayude.

thamurath
fuente
Yo diría que para alguien que viene de VB, Gambas podría ser una buena opción. Dicho esto, python es la lingua fraca de Linux. Encontrará Python en casi todas las distribuciones de Linux. El desarrollo de una aplicación basada en Python facilita la implementación con las herramientas de configuración.
viyyer
3

Como alguien que solía usar mucho acceso y VBScript, puedo decir que la transición no es súper fácil, pero es posible y si elige la tecnología adecuada, incluso deseable. Estoy escribiendo un software mucho mejor en estos días que nunca sobre ODBC y Access.

Hay algunas opciones, pero su kilometraje variará según lo que esté haciendo y la experiencia pasada.

  1. Python + Django

    Mi primera sugerencia es de desarrollo web. Soy un desarrollador web más que cualquier otra cosa, así que sugeriría esto. Django hace que administrar su esquema de base de datos sea estúpidamente simple. Crea una clase de Python para cada tabla, ejecuta un comando y establece una base de datos completamente relacional. Luego puede consultar en función de esas clases (conocidas como Modelos). Todo esto sin escribir una sola línea de SQL.

    También viene con una interfaz de administrador muy sexy que requiere solo unas pocas líneas de código para activar sus modelos. Maneja la validación, búsqueda, filtrado, pedidos, entrada, algunos resultados / informes y puede agregar cualquier cosa que aún no esté allí. Y debido a que es una interfaz web, es mucho más fácil compartirla con colegas que lanzar un archivo de Access.

    Y Python es un lenguaje hermoso. Elegancia simple. Verás eso en función de cuántas personas lo sugieran :)

  2. LibreOffice Base

    Si desea seguir con bases de datos simples, LibreOffice (u OpenOffice) Base es probablemente lo más parecido a Access a su alcance. No es Access y es bastante simple y limitado con respecto a lo que Access puede hacer (si sabe lo que está haciendo), pero solo se supone que es una base de datos de escritorio simple.

  3. Kexi

    Otra versión de la base de datos de estilo Access. Parece más flexible que Base, pero nunca lo he usado, así que realmente no puedo decir qué tan bueno es.

Los dos últimos son modelos con los que probablemente se sienta más cómodo, pero, sinceramente, ninguno de los dos es excelente y eso se debe a que Access no es un buen modelo para el desarrollo de bases de datos cuando hay tantos marcos mejores.

Desea abordar el futuro de su desarrollo antes de migrar a Ubuntu. Si solo inicia en Ubuntu ahora, se sentirá muy frustrado si no puede comenzar a trabajar de inmediato. Las tres soluciones anteriores pueden ejecutarse en Windows, así que quédese atrapado ahora.

Las dos aplicaciones se pueden descargar e instalar y Django requiere un poco más de esfuerzo para comenzar. Comience con esto para instalarlo (siga sus consejos sobre Python 2.7) y luego pase al tutorial oficial para comenzar a programar.

Oli
fuente
1

Una excelente manera de comenzar a desarrollar para Ubuntu es ir al sitio del desarrollador en developer.ubuntu.com. Allí encontrará tutoriales e información sobre las diferentes opciones que tiene. Una vez que haya terminado de desarrollar, envíe su aplicación allí para ingresarla en el centro de software.

William
fuente
0

Recomiendo absolutamente que use Python como lenguaje de programación y GTK y Glade para diseñar sus interfaces GUI. Python admite todo tipo de bases de datos, así que eso depende de usted MySQL es popular. También lo es PostgreSQL. Hay muchos otros para elegir, dependiendo del tipo de datos que desee almacenar. Pero probablemente deberías elegir uno multiplataforma.

Tanto Python como GTK se pueden usar en Windows y OS X, así como Ubuntu y otros. Lo mismo es cierto para las bases de datos. Ubuntu es un entorno de desarrollo realmente cómodo con todas las herramientas que necesita a su alcance. También debe echar un vistazo al proyecto Quickly. Esta es una forma de impulsar proyectos de desarrollo, facilitar el empaquetado, etc.

Portar su aplicación a Ubuntu también significa que tendrá la capacidad de llegar a un público más grande con menos dificultad más adelante, ya que todas las herramientas son multiplataforma. Como programador de Visual Basic, creo que realmente te encantará Python.

Jo-Erlend Schinstad
fuente
0

Si no utiliza demasiada biblioteca específica de Windows en el desarrollo, puede usar mono para ejecutar aplicaciones tanto en sistemas basados ​​en Linux como en Mac. Pero prefiero Qt para el desarrollo multiplataforma. También ayudará a portar su aplicación en dispositivos móviles.

baru
fuente
Para ser justos, Qt solo es compatible con MeeGo, Symbian y Windows Phone, mientras que .Net \ C # \ mono es compatible con Android, iOS, Windows Phone 7 y también creo que MeeGo y Symbian. (Con respecto a las plataformas móviles)
Wesley Wiser
0

Qt como SDK y QtCreator como IDE es lo que quieres. Hace que las excelentes aplicaciones GUI se vean bien en casi todos los sistemas operativos que hay, incluidos los 3 (Windows, Linux, OS X). Es fácil de aprender, intuitivo y eficaz. ¡Pruébalo, no te arrepentirás!

entonjackson
fuente
0

No sé mucho sobre VisualBasic, y no sé de un equivalente en el mundo de Linux.

Para Pascal, está el gpc (GNU Pascal Compiler). No lo he usado, pero estoy seguro de que es bastante fácil para un programador Pascal hacer la transición. Casos similares para muchos otros lenguajes de programación como C, C ++, FORTRAN, etc. Aunque no recomendaría ninguno de ellos a un programador de VisualBasic, hay varias opciones para lenguajes que residen en varias plataformas. Supongo que su elección de idioma puede depender un poco de la política de su empresa, etc.

Python sería mi principal recomendación. Es fácil de aprender, te obliga a escribir código que es fácil de leer y es multiplataforma por defecto. Si desea entregar aplicaciones de código cerrado, verá que hay algunas diferencias notables entre las plataformas. Pero, en general, la mayoría del código que escribes se compilará en cualquier sistema. La parte difícil es mantener la estructura de la carpeta (es decir, C: / Archivos de programa / vs / usr / share /). Pero hay parámetros ambientales del sistema operativo que puede usar para evitar opciones específicas de la plataforma de codificación rígida. Lo malo es que tienes que aprender un nuevo idioma. La ventaja es que puede usar el mismo código en Windows y Linux y MacOSX, etc.

Para mantener una GUI para sus aplicaciones, hay varias opciones en Python. Muchos desarrolladores de Ubuntu parecen optar por GTK3, que también está disponible para Windows. Personalmente, prefiero Qt4 (también puedes usar Qt4 para C / C ++, el paquete Python se llama PyQt4 para el oficial y PySide para un proyecto comunitario). No tendrá un IDE de la misma manera que lo hace en VisualBasic, pero el uso de Qt Designer para crear la apariencia de la GUI facilita la implementación en un IDE de solo código (por ejemplo, Wingware IDE, Eclipse, IPython ...). Por lo tanto, tendrá que cambiar entre la aplicación de diseño GUI y la aplicación IDE de codificación. Lo mismo es cierto para GTK3, donde usaría Glade para crear una GUI.

Python tiene un paquete de base de datos predeterminado que implementa SQLite3. Esa base de datos es bastante capaz, pero no hay GUI para construirla como con Access. Sin embargo, hay paquetes para acceder a la mayoría de los tipos de bases de datos. Personalmente, prefiero seguir con PostgreSQL para todas mis cosas, ya que es muy escalable. PyQT4 tiene clases para todas las bases de datos principales en el módulo QtSql, pero hay muchas otras opciones. Por supuesto, también podría configurar sus antiguas bases de datos de Access en una máquina Windows con ODBC y luego podría llamarlas sin cambiar el software de la base de datos.

GaRyu
fuente