Viniendo de un grupo de desarrollo de Microsoft, estoy un poco confundido sobre qué idiomas/entornos de desarrollo están disponibles en una Mac. ¿Hay algún lenguaje parecido al C# para desarrollar con Mac aparte de Java que también debería considerar? ¿Qué prefieren los conversiones de MS a OSX y por qué? Busco una estrategia de programación de nivel empresarial y no juegos o gráficos, por lo que el rendimiento de la aplicación no es el conductor general de mi elección de plataforma.Desarrollando en Apple (plataforma nueva)
Respuesta
Tener un vistazo al proyecto Mono
Presupuesto de wikipedia
Mono es un proyecto liderado por Novell (anteriormente por Ximian) para crear un estándar ECMA conjunto compatible, compatible con .NET de herramientas , incluyendo entre otros un compilador de C# y Common Language Runtime. Mono se puede ejecutar en sistemas operativos Linux, BSD, UNIX, Mac OS X, Solaris y Windows.
Pero Realmente recomiendo ir a la ruta del cacao y obtener Aaron libro Hillegass "Programación Cocoa para Mac OS X"
Objective-C con la API de cacao es el camino a seguir. Una vez que los tienes, también hay puentes entre Ruby y Python con Cocoa API. Sin embargo, recomendaría inicialmente aprender Cocoa API con Objective-C primero.
En una nota relacionada,
Silverlight es una tecnología basada en la web de "destello como" compatible con Windows y Mac y se puede codificar en idiomas más .net.
Objective-C, C, C++, Java, Ruby, Python, Php, ... Hay muchas opciones de idiomas/entornos de desarrollo para usar, incluido C# a través de Mono como dice @epatel. Diría que la elección del idioma depende más de lo que está desarrollando que de la plataforma de la que proviene.
C# está disponible para OS X, siempre que esté dispuesto a usar Mono. Para cosas que no sean UI y web, debería funcionar bien.
Para el desarrollo de aplicaciones de escritorio, uso REALbasic. Su sintaxis y modelo de objetos son muy similares a Visual Basic.
Para la programación de nivel empresarial, no estoy seguro de si Cocoa/Objective-C será lo más productivo para empezar; es bastante diferente de .NET y/o Java.
También compré una Mac y vengo de un fondo de desarrollo .NET. Probé varios idiomas y entornos diferentes. Si va a escribir software de escritorio OS X, necesitará usar Cocoa and Interface Builder. IB no tiene una contraparte de Windows porque está muy ligada a Cocoa. Esto significa que vas a necesitar aprender Cocoa simultáneamente, y no es fácil hacerlo mirando el código.
Objective-C es el lenguaje nativo de la Mac y no es tan refinado como C#. Se tarda un tiempo antes de poder leerlo con fluidez porque las funciones de llamada son diferentes. Usar Python o Ruby en lugar de Objective-C solo agrega una capa de complejidad hasta que aprendes Cocoa, pero parece bastante viable después de eso. C# a través de Mono funciona bien, pero no creo que se implemente todo el puente Cocoa #. Las herramientas C# son de mucha menor calidad que Visual Studio, y MonoDevelop es extremadamente feo en Mac. Decidí que si quería seguir esta ruta, debía aprender Objective-C, pero tomar una dirección diferente.
Si está escribiendo un sitio web, entonces tiene mucha más flexibilidad.Las culturas enteras de Python y Ruby están disponibles, aunque hay algunos inconvenientes con la instalación de algunas bibliotecas de Python. Esta es la ruta que tomé porque tenía una experiencia básica de Python y las habilidades son casi 100% compatibles con Linux. iTerm es un mejor cliente que Terminal. No me gustó la mayoría de los editores de código que probé, y comencé con Smultron que no es mucho más que un editor de texto muy competente con resaltado de sintaxis. Definitivamente hay muchas opciones.
No importa cómo lo abordes, vas a pasar mucho tiempo aprendiendo. Constantemente tropecé con la sintaxis de Python, pero finalmente me estoy volviendo bueno. Los documentos SQLAlchemy (Python ORM) casi siempre tienen una ventana de navegador abierta. También mordí la bala y comencé a usar Vim (MacVim específicamente), que en realidad es algo divertido de aprender porque siempre parece haber otro comando que hace exactamente lo que quieres. (Por ejemplo, me cansé de ir a una línea, presioné $ para ir al final, presioné a para anexar, luego presioné enter para comenzar una nueva línea, así que busqué en Google y descubrí que puedo presionar o)
Objective-C y Cocoa es el camino a seguir con seguridad. Muy a menudo los desarrolladores harán la idea errónea de que Objective-c no es "tan detallado" ni "tan ajustado". Pero puedo asegurarle que es la fuente de poder detrás de algunas de las mejores aplicaciones en el negocio. Hay una curva de aprendizaje notable.
Me gustaría olvidar mono, no funciona muy bien. Los formularios Slow, Buggy y System.drawing/no funcionan correctamente cuando se distribuye.
Con C# Me gustaría ir con monomac. Accedes a todas las mac apis pero en C#. Es como una casa a medio camino. En lugar de Formularios usa NSWindow y en lugar de controles usa NSView. En lugar de dibujar use el contexto de gráficos. El inconveniente es que la documentación es un poco delgada y cuesta.
- 1. Desarrollando en la nube
- 2. ¿Desarrollando aplicaciones de Windows en Linux?
- 3. Nueva política de iPhone Dev ... ¿cómo lo hace cumplir Apple?
- 4. Desarrollando mi propio CMS
- 5. ¿Desarrollando complementos para AutoCAD?
- 6. Desarrollando como programador
- 7. ¿Alguien aquí tiene experiencia desarrollando para Minix?
- 8. Desarrollando con Jailbroken iPhone (Xcode)
- 9. Desarrollando núcleos y probándolos en máquinas virtuales
- 10. Desarrollando para iPhone en una PC?
- 11. ¿Está desarrollando Silverlight en Visual Studio Express?
- 12. Desarrollando con Qooxdoo y múltiples desarrolladores
- 13. Apple SearchKit en iOS
- 14. Actualizando Apple g ++/gcc
- 15. ¿Cómo abrir una nueva ventana y varias URL en Safari con Apple Script?
- 16. Desarrollando proyectos de Django usando Git
- 17. ¿El prisma aún se está desarrollando activamente?
- 18. Desarrollando a través de Escritorio remoto
- 19. Desarrollando para ASP.NET-MVC sin Visual Studio
- 20. OpenCV en plataforma integrada
- 21. Desarrollando una tarea programada para Windows
- 22. ¿Cuál es la mejor manera de utilizar CoffeeScript con Django si está desarrollando en Windows?
- 23. Desarrollando una aplicación web usando Objective-C en FreeBSD
- 24. ¿Está desarrollando para Mac OS X, en Windows?
- 25. SFTP en Python? (plataforma independiente)
- 26. Prueba de plataforma en elisp?
- 27. ¿La nueva plataforma del teléfono Windows 7 usa Silverlight para su interfaz de usuario?
- 28. iOS: cómo vincular el enlace de la App Store que se está desarrollando
- 29. ¿Cómo uso Apple Keychain?
- 30. Programa MFi de Apple