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.
windows
compiling
crossplatform
Mel Burnett
fuente
fuente
Respuestas:
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:
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.
fuente
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.
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 :)
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.
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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!
fuente
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.
fuente