2009-04-01 16 views
6

mi experiencia: he estado desarrollando aplicaciones web utilizando php y javascript durante los últimos diez años. antes de eso, desarrollé aplicaciones usando turbo pascal para DOS. en mi opinión, el desarrollo de aplicaciones y aplicaciones web son dos tipos diferentes de desarrollo (al menos es lo que pienso cuando recuerdo los viejos tiempos del desarrollo de aplicaciones DOS).osx & windows development - newbies

ahora estoy en la necesidad de volver al desarrollo de aplicaciones "normales" por varias razones. la aplicación que quiero construir necesita una GUI y debe ejecutarse en osx y windows. como usuario de mac os sería muy bueno para mí obtener una aplicación como resultado, que realmente se siente como una aplicación osx. No necesito ningún componente especial de interfaz de usuario: un explorador/buscador como árbol, una cuadrícula de datos y algunos elementos de formulario serían suficientes para mis necesidades.

ahora el problema es que no sé por dónde empezar: me clasificaría como novato, porque es mucho tiempo desde la última vez que desarrollé algo que no sea una aplicación web. ¿Hay alguna recomendación de lenguajes de programación y kits de herramientas GUI con una curva de aprendizaje no empinada? o ¿me pueden recomendar algún libro que deba leer para acceder al desarrollo de la plataforma cross-plattform osx/windows?

muchas gracias!

gracias a todos! ¡Creo que echaré un vistazo a realbasic!

Respuesta

11

Editar nov 2011 - una retracción

La mayor parte de lo que digo a continuación sigue siendo cierto sin embargo, ahora tengo serias reservas sobre la recomendación de REALbasic para cualquiera que intente lanzar aplicaciones de calidad comercial. Para ahorrarme y recordar editar esta publicación más tarde, compruebe si RealSoftware ha logrado lanzar una versión robusta de su IDE utilizando la versión Cocoa de sus marcos. Si no, se muy cauteloso.

Me da mucha pena escribir esto porque todavía me gusta mucho el lenguaje y creo que el framework y el IDE están bien hechos. Aparentemente, el problema radica en la subcapitalización y, posiblemente, en una cultura de desarrollo de software dentro de la empresa que consistentemente no logra resolver un problema de regresión de errores. Muchos errores se solucionan en cada lanzamiento, pero parece que hay un impuesto enorme sobre los desarrolladores en la cantidad de errores introducidos. Tienen un equipo muy pequeño para la complejidad del producto, especialmente teniendo en cuenta la recién publicada Web Edition, que en realidad es una plataforma completamente nueva.

Todavía es teóricamente un gran producto, pero aprovecha el período de prueba, pruébalo minuciosamente en cada una de las plataformas a las que apuntas y decide si puedes vivir con algún error que encuentres porque pueden estar allí por un tiempo.


REALbasic.

El lenguaje es un poderoso lenguaje moderno, orientado a objetos que no va a ser difícil para que usted pueda adaptar a partir de su Pascal recordaba vagamente o corriente JavaScript. Tiene la mayor parte del poder de C++ sin los bits peligrosos que hacen que la depuración sea una pesadilla. También encontrará el IDE más simple y fácil de manejar que decir Visual Studio.

El IDE hace que sea muy fácil juntar una GUI y hacer que funcione en múltiples plataformas. La versión Pro tiene uno de los mejores depuradores multiplataforma que he usado y es fácil trabajar (por ejemplo) en una Mac y desarrollar para Windows y Linux, compilando y probando con un solo clic.

También hay una comunidad próspera que incluye muchas personas en su nivel de experiencia para que no se burle de usted por ser un novato.

Soy un desarrollador de software profesional con más de 25 años de experiencia y actualmente trabajo principalmente en REALbasic, C++, C#, Objective-C y un poco de Ruby. Para aplicaciones como las que menciona, REALbasic es mi herramienta de elección.

editar: No puedo creer que alguien votó negativamente por esto pero no tuvo agallas para agregar un comentario explicando por qué. Había oído hablar de los prejuicios contra REALbasic, pero esta es la primera vez que lo encuentro. ¿De qué manera mi respuesta fue inapropiada para esta pregunta?

Sólo para añadir a mi credibilidad, he implementadocross-platform frameworks utilizado por los sistemas desplegados a decenas de miles de usuarios finales - tengo el C++ experiencia multiplataforma para aplaudir a otra persona haciendo un buen trabajo y los marcos de REALbasic están muy bien.

+1

La votación a la baja sin motivo aparente, excepto "No me gusta esto" me molesta sobre SO. Creo que debería ser necesario dejar un comentario. No creo que deba ser anónimo. – bruceatk

+0

Para mí, REALbasic es la única solución viable para el desarrollo multiplataforma. No es perfecto, pero nada más se acerca. Están manteniéndolo activamente con actualizaciones frecuentes y es bastante fácil crear una aplicación en Windows y hacer que funcione en un MAC o Linux. – bruceatk

+0

Tengo la versión de Windows y uso un MAC mini dual con Ubuntu y OSX para probar. – bruceatk

3

Usted puede estar interesado en las siguientes preguntas y respuestas:

y muchos otros sugirieron en el relacionados barra lateral de estas preguntas.

Algunas respuestas sugieren gtk (que es utilizado por multiplataforma gimp). Otros sugieren enfoques nativos. Algunos sugieren que una Mac es una buena plataforma para desarrollar para Mac OS X, Windows, Unix y Linux.

-1

Si necesitas que tu código sea multiplataforma, deberías ir con algo como QT.

Aunque, recomendaría usar API nativa para cada uno (Cocoa para Mac OS X, .NET o la API de Win32 para Windows). La experiencia del usuario será mucho mejor. Pero, por supuesto, eso le costará más dinero en términos de horas de desarrollo.

+0

No creo que QT (que requiere conocimiento de C++) sea una buena opción para alguien que dice ser "novato". –

1

Si bien puede parecer tentador utilizar un lenguaje que sea independiente de la plataforma y le permita escribir la aplicación una vez y usar en cualquier lugar, sin dudas sacrificará algo en cada una, especialmente en la interfaz de usuario y la experiencia del usuario. Si puede hacer todo lo posible para crear algo utilizando una API nativa que le permite aprovechar al máximo las características del sistema operativo para hacer que su aplicación brille.

0

Definitivamente iré por C++ y Qt, el código que escriba una vez se compilará y ejecutará sin problemas en Windows, Mac y Linux. El nuevo IDE que viene con Qt - Qt Creator es brillante, funciona y tiene el mismo aspecto en Windows, Mac y Linux, no necesita nada más para comenzar a escribir aplicaciones multiplataforma.

Probé WxWidgets pero no encontré un IDE bueno, el mejor era Code Blocks, pero GUI Designer no es perfecto y tiene problemas diferentes en diferentes sistemas y el IDE en sí mismo todavía está en desarrollo.

Las otras opciones son Java y C# pero no son lenguajes multiplataforma, sino que son plataformas. A pesar de que no habría necesidad de compilar el código para cada plataforma habrá un montón de diferentes temas de la manera ...

+0

"no necesita nada más para comenzar a escribir aplicaciones multiplataforma". ¿es un compilador y un depurador también? –

+0

Sí, como dicen que es "Entorno de desarrollo completo". – Mahtar

0

Si su GUI es lo suficientemente simple, ¿por qué no simplemente crear una capa de GUI genérica, luego programarla para eso? Compile una versión para cada sistema operativo utilizando widgets nativos. Esa es la mejor manera de garantizar L & F nativo en múltiples plataformas.

Las sugerencias de Qt y REALbasic son buenas, aunque te atan a esa tecnología en particular (que no puedo imaginar sería un problema en este caso particular).

Personalmente, iría con Java, porque me funcionó antes (tenía una aplicación que se ejecutaba en mi PDA, mi teléfono y mi escritorio), pero no usa widgets nativos.

+0

Java puede ser bueno. Es gratis, y Eclipse es un gran editor. Sin embargo, no tiene un editor de GUI interactivo como lo hace REALbasic, creo. –

+0

NetBeans tiene un editor de GUI, lamentablemente ya que no he usado REALbasic no puedo comparar los dos. Sé que es un poco más engorroso (o quizás "menos perfecto") que Visual Basic, si eso es de alguna ayuda. – TMN

5

La mejor herramienta multiplataforma que he incursionado con una curva de aprendizaje relativamente pequeña ... especialmente si está familiarizado con Visual Basic ... es REALbasic. Con REALbasic Pro puede compilar un programa para apuntar a Win32, Linux y OS X desde la misma base de código, siempre y cuando no esté utilizando llamadas y funciones específicas del sistema operativo (que puede hacer con complementos o llamadas directas). Su soporte ha sido muy receptivo a mis preguntas, la edición personal (que compila solo la única plataforma de destino para la que descargó el IDE) es gratuita para Linux y económica para otras plataformas, pero realmente es posible que desee descargarla y probarla fuera. Un IDE, relativamente económico, y puede compilar aplicaciones nativas en OS X, Windows y Linux ... es menos complicado, y para mí eso es importante cuando quieres hacer un trabajo.

5

Recomendaría contra C y Qt y también recomendaría REALbasic.

Con su fondo en Pascal y probablemente JavaScript se sentirá mucho más cómodo con REALbasic. He hecho mucha codificación en Pascal y C/C++, donde Pascal te guía para evitar errores de programación, C te permite entrar, incluso invitarte, y luego te será difícil descifrar por qué salió mal . Qt es un marco muy abstracto y requiere que aprenda mucho antes de que pueda obtener algo que funcione, al igual que con C. En comparación con la facilidad que solíamos tener con TP en ese momento.

RB es mucho más parecido a Pascal en este sentido. Y su IDE es bastante moderno en cuanto a compatibilidad con su programación, con un diseñador de GUI fácil de usar, editor directo para llenar los vacíos para manejar eventos de IU, finalización de código, etc.

Solo cuando obtiene en grandes tamaños de programas, RB pierde algo de su atractivo porque le faltan herramientas para darle una buena visión general de las complejas interacciones de clase, etc.

Otra cosa es que Qt es más probable que cause aplicaciones de Mac desagradables que las que RB . RB te guía visualmente para que todo esté alineado: en Qt tienes que trabajar con números, desplazamientos, etc. para colocar tus objetos (al menos así fue cuando usé Qt hace 2 años).

He escrito bastantes aplicaciones de plataforma X en RB y estoy muy contento con los resultados.

Probablemente no escriba esas aplicaciones súper atractivas que compiten con las mejores en el mercado abierto de pequeñas empresas, pero si solo quiere obtener un código sólido funcionando, con una interfaz de usuario fácil de diseñar que sea aceptable para el usuario promedio, pruebe RB.

No es gratis, sin embargo.Pero su comunidad más bien pequeña está de su lado: están ansiosos por ayudar, en lugar de atacar a todos los que intentan hablar con sentido :)

4

Soy nuevo aquí, pero he recogido este hilo a través del grupo de usuarios REALbasic. Creo que mi posición era similar a la tuya. Hice el diseño del sitio web para mi trabajo, usando en su mayoría javascript (con un poco de php, no mucho). Tenía un fondo Pascal y BASIC. Me metí en C, pero no me gustó el nivel de detalle que necesitabas para controlarlo. Me recordó demasiado a la asamblea (que todavía tengo pesadillas desde mis días de escuela secundaria/universidad).

Estaba buscando un lenguaje multiplataforma, con una sensación familiar, pero inicialmente comencé con VB porque era gratis. Sin embargo, prefiero programar en MacOS, así que probé REALbasic. Descubrí que el constructor de UI de REALbasic era mucho más fácil de usar que los de VB. Me haría eco de otros comentarios de que la comunidad es la más receptiva de los grupos de usuarios en los que he estado involucrado. Desde entonces, he usado REALbasic y mi Mac para hacer varios programas que más de 100 usuarios usan todos los días en mi trabajo (en PC, principalmente XP y 2000). Recibí elogios sobre el pulido y la facilidad de uso de estos programas. Usted DO tiene que acordarse de ajustar las cosas 'pequeñas' para que se vea bien cruzada (es decir, la ubicación predeterminada de los botones es opuesta en PC vs. Mac, los tamaños de los botones son diferentes en Linux, etc.). Sin embargo, muchas personas han donado clases personalizadas que hacen estas cosas por ti.

Las personas parecen suponer que un lenguaje "BÁSICO" no puede ser lo suficientemente poderoso para sus propósitos. Si bien es BÁSICO en su núcleo (con For..Next, Do..While, y If ... Then commands), no es el BASIC de tu papá. Es mucho más POO que cualquier otra cosa que haya usado, basado en una estructura orientada a eventos, que para mí fue fácil de aprender. Tienen una versión de prueba gratuita, así que toma una demostración y repasa el tutorial. Si te quedas atascado, pregunta por el NUG o los foros en el sitio web y es probable que obtengas una respuesta rápidamente.

3

Como Andy Dent y otros aquí han indicado, para que un novato cree aplicaciones multiplataforma es difícil superar a REALbasic (ahora Xojo).

Claro, hay muchas otras soluciones de plataforma cruzada como QT (C++), Java, .NET (hasta cierto punto) y wxWidgets, pero no son algo que un principiante pueda usar con eficacia.

Tengo muchos años de experiencia en desarrollo profesional en una amplia variedad de idiomas y tecnologías, y prefiero usar REALbasic la mayor parte del tiempo.

Dicho esto, también podría considerar Runtime Revolution o Adobe Air.

3

Recomiendo sinceramente RealBasic también. He estado usando RB por aproximadamente 8 años y lo encuentro una herramienta perfecta para las necesidades de desarrollo de mi empresa, desde aplicaciones pequeñas hasta grandes sistemas multiusuario.

Es perfecto para principiantes y aquellos que están volviendo a la programación, y también para desarrolladores profesionales.

Muy recomendado.

0

Adición de un comentario tarde aquí:

Tome un vistazo a Revolution. Es algo así como una Hyper-card moderna en roids. Y es multiplataforma (Mac, Linux y Windows). Este es un serio competidor de RealBasic y viene fuerte. Aunque sigo usando RB (y me gusta) le estoy dando una mirada seria a Revolution.

0

También buscaría en Realbasic o Revolution. Ambos crean aplicaciones nativas multiplataforma. Personalmente, creo que Realbasic sería una mejor opción, ya que es muy similar, en cuanto al lenguaje, a VB.Puedes aprender algunas habilidades valiosas con RB y puede crecer con tu experiencia. He estado usando VB y RB por más de 10 años combinados y creo que estarás feliz.