Ayuda para empezar a programar en iOS

Bueno pues en esta semana voy a ir a por mi MacBook Air de 13" (el nuevo de hace unos días) pero con 8gb de RAM porque lo veo algo bajo 4 para dentro de algunos años y como no se puede aumentar.. Pues... Eso si 128gb porque de espacio no tengo problema con el otro Pc con 2tb de almacén.

Lo que ahora,viendo en la web de Apple he visto que poner un i7 frente al i5 que viene vale 150 euros. Esta justificado ese precio? Voy a notarlo mucho más? Si tendríais que elegir entre mejorar la RAM de 4 a 8 o el procesador del i5 al i7 que haríais? (Recordemos que por muy i5 o i7 que sea son dole núcleo...)

-----------

Fuera de esto (espero no tener muchas dudas más, pues soy nuevo en OS ) me gustaría empezar a aprender programación para iOS (aplicaciones y juegos) y quiero aprovechar y empezar cuando tenga el mac

Partiendo de la base de que no se nada de nada de nada de programación (este año empiezo ASIR y daré algo supongo) sabéis de alguna web o series de tutoriales para aprender? Tengo muchas ideas pero no puedo llevarlo a cabo jeje. Se que se hace con Xcode pero poco más

Una cosa que siempre me lo he preguntado. Si yo hago un juego.. El fondo, el personaje, los enemigos.. Todo eso hay que diseñarlo pero... Como? He leído algo de dibujos digitales pero, me recomendáis algún programa o algo? Gracias!!
Comprueba si la RAM va soldada o no a la placa, en caso de que si, ampliala, si no, la podras comprar mucho mas barata cuando haga falta. El i7 si es dual core no merece la pena.
Sobre programar yo voy a empezar este verano con un curso de 48 euros, que parece que esta bien, y, oye, es barato xD. Pero si no sabes ningun lenguaje no empezaria por aqui.
En ASIR no vas a dar nada que te sirva de base para esto. Vas a programar, eso si, pero en lenguajes muy diferentes (PL/SQL,shell script, php...)
Si te interesa iOS yo miraría primero antes que nada C. Una vez lo tengas puedes elegir si estudiar C++, o mirar los fundamentos de la programacion orientada a objetos y meterte directamente con C#.
Sobre lo de los juegos ( un tema aparte en programacion, en el que seguro que algun usuario te puede informar mucho mejor porque no tengo ni zorra xD) lo que son los modelos hay que diseñarlos claro, y se hace con dibujo digital, hasta ahi se xD.
La RAM si viene soldada, por eso quiero pedirlo con 8gb y tanto el i5 que lleva normalmente como la ampliación al i7 son ambos dole núcleo.. Por eso no creo que este justificado los 150 más del i7 frente al i5

Entonces si empiezo con tutoriales y cursos de Xcode y tal puedo liarla no?

Gracias
Pues entonces 8gb e i5.
No es que la vayas a liar, pero te vas a volver un poco loco porque no tienes las bases.
Si quieres empezar creo que fundamentos de programacion de nacho cabanes te va a ir bien, ya que te enseñs con C. Luego con mirar un poco las bases de programacion orientada a objetos ya podrias empezar con ios.
Programar para iOS aplicaciones normales es una cosa y videojuegos es otra totalmente distinta porque en ella entran librerías de gráficos y demases.

Sin saber de programación con un poco de esfuerzo aprendiendo C, C++ luego Objective-C es bastante sencillo y más con Xcode que es un IDE muy bueno. Pero como te digo, el tema de videojuegos es más complejo de lo que parece.
te lo muevo al subforo correspondiente, ya que aqui no va.
RC9 escribió:Programar para iOS aplicaciones normales es una cosa y videojuegos es otra totalmente distinta porque en ella entran librerías de gráficos y demases.

Sin saber de programación con un poco de esfuerzo aprendiendo C, C++ luego Objective-C es bastante sencillo y más con Xcode que es un IDE muy bueno. Pero como te digo, el tema de videojuegos es más complejo de lo que parece.



Yo diria mas bien que programar apps (sean ios/pc/loquesea) es un mundo, y los juegos son otro, lo que aprendas haciendo apps no te sirve para juegos y viceversa, mas alla del lenguaje que no cambia claro. Pero ni los trucos ni la metodologia son compatibles
Vas de cráneo si quiers empezar a programar para iOS sin experiencia previa.
Y un apunte, si empiezas ASIR no esperes ver algo de programación... Es todo lo contrario
Stylish escribió:Vas de cráneo si quiers empezar a programar para iOS sin experiencia previa.

+1

Encima iOS es la peor plataforma posible para empezar a programar, es algo completamente cerrado y te va a tocar apoquinar tus 99€ al año para poder hacerlo.

Empieza en PC, y cuando ya tengas experiencia y creas que vas a amortizar esos 99€ piensa en pasarte. Antes es una locura en la que no vas a avanzar nada.
josemurcia escribió:
Stylish escribió:Vas de cráneo si quiers empezar a programar para iOS sin experiencia previa.

+1

Encima iOS es la peor plataforma posible para empezar a programar, es algo completamente cerrado y te va a tocar apoquinar tus 99€ al año para poder hacerlo.

Empieza en PC, y cuando ya tengas experiencia y creas que vas a amortizar esos 99€ piensa en pasarte. Antes es una locura en la que no vas a avanzar nada.


Se nota que no has programado para iOS en tu vida para soltar semejante perla, porque no te hace falta pagar para programar. El xcode es gratis y los SDKs también. Si quieres subir el juego a la appstore si tienes que pagar, pero pararogramar no hace falta. Y no es la peor plataforma para empezar a programar. De hecho es bastante facil
No creo que haya tanta diferencia entre programar una app y un juegos para iOS, a mi no me costó tanto, pero requiere cierta abstracción añadida y saber como funciona un juego; en una app casi todo depende de la interacción del usuario por lo que resulta más sencillo, en un juego entran otras variables y debes tener en cuenta un ciclo de ejecución muy estructurado para que todo se ejecute correctamente: actualización de la posición del jugador, actualización de la posición de los enemigos, interacción entre ambos, gestión del fondo, música de fondo, efectos de sonido, etc.
Eso sí, debes tener unos conocimientos robustos de programación, en este caso de C, C++ y Obj-C, si no va a resultar difícil. Antes de programar para iOS había programado en C, C++, Java, PHP, ASM, Visual, y el salto fue pequeño, vamos que Obj-C es C++ poniendo corchetes jejejeje.
Considero que programar en iOS es inmensamente más fácil que Android, por el SDK y porque no tienes que batallar con miles de resoluciones distintas en miles de dispositivos distintos. A parte de que es más eficiente que el Java que lleva Android. Y desde que se añadió ARC para contar la referencias a objetos automáticamente funciona igual que con el GC (recolector de basura) de Java sin tener que estar pendiente de liberar los objetos después de su uso.
Lo dicho, me quedo con la "plataforma cerrada" de iOS antes que con la "orgía" de Android.
drumtronicpw01011110 escribió:Se nota que no has programado para iOS en tu vida para soltar semejante perla, porque no te hace falta pagar para programar. El xcode es gratis y los SDKs también. Si quieres subir el juego a la appstore si tienes que pagar, pero pararogramar no hace falta. Y no es la peor plataforma para empezar a programar. De hecho es bastante facil

Si, si programar será gratis, pero dime tú de que te sirve programar si no puedes probar ni depurar en un dispositivo.
josemurcia escribió:
drumtronicpw01011110 escribió:Se nota que no has programado para iOS en tu vida para soltar semejante perla, porque no te hace falta pagar para programar. El xcode es gratis y los SDKs también. Si quieres subir el juego a la appstore si tienes que pagar, pero pararogramar no hace falta. Y no es la peor plataforma para empezar a programar. De hecho es bastante facil

Si, si programar será gratis, pero dime tú de que te sirve programar si no puedes probar ni depurar en un dispositivo.


Puedes probar a depurar en el emulador de iOS, yo lo he hecho a menudo, aunque al final siempre lo pruebo en el iPhone. Hay también "formas" de depurar y probar en el dispositivo físico antes de comprar la licencia de desarrollador.
tomich78 escribió:
josemurcia escribió:
drumtronicpw01011110 escribió:Se nota que no has programado para iOS en tu vida para soltar semejante perla, porque no te hace falta pagar para programar. El xcode es gratis y los SDKs también. Si quieres subir el juego a la appstore si tienes que pagar, pero pararogramar no hace falta. Y no es la peor plataforma para empezar a programar. De hecho es bastante facil

Si, si programar será gratis, pero dime tú de que te sirve programar si no puedes probar ni depurar en un dispositivo.


Puedes probar a depurar en el emulador de iOS, yo lo he hecho a menudo, aunque al final siempre lo pruebo en el iPhone. Hay también "formas" de depurar y probar en el dispositivo físico antes de comprar la licencia de desarrollador.

Depurar juegos en el emulador es un suicidio, y más para alguien que va a empezar. Y sí, la "forma" de hacerlo en un dispositivo se llama jailbreak.
josemurcia escribió:
tomich78 escribió:
josemurcia escribió:Si, si programar será gratis, pero dime tú de que te sirve programar si no puedes probar ni depurar en un dispositivo.


Puedes probar a depurar en el emulador de iOS, yo lo he hecho a menudo, aunque al final siempre lo pruebo en el iPhone. Hay también "formas" de depurar y probar en el dispositivo físico antes de comprar la licencia de desarrollador.

Depurar juegos en el emulador es un suicidio, y más para alguien que va a empezar. Y sí, la "forma" de hacerlo en un dispositivo se llama jailbreak.


Para probar un juego es verdad que es mejor hacerlo desde un principio en el dispositivo, pero vamos, para alguien que no ha programado en la vida con el emulador le da de sobra, tampoco va a hacer un juego tan complejo como para que no vaya perfecto ya en el emulador. Y como has dicho, si no quieres pagar jailbreak y listo.

Luego lo de aprender, si quieres aprender programación empieza con C o C++, si lo que quieres es aprender a programar en iOS por hobby, pues puedes empezar directamente por Obj-C porque hay muchas cosas que vas a aprender en C/C++ que no van a valer para nada y otras cosas que tiene Obj-C que no tiene C/C++, además de que la sintaxis cambia bastante, a mi personalmente la de Obj-C me parece un invento del demonio, la de tiempo que se pierde como no utilices XCode, ¡MUERTE A LOS CORCHETES!.

Para aprender Obj-C en español no conozco que materiales podrías utilizar (aunque tiene que haberlos), en inglés de lo más interesante que hay son los cursos de la universidad de Stanford que están en iTunes U para que los sigas como si fueras un alumno, aunque hay muchos conceptos que ya se dan por hechos y para eso tienes que tener experiencia programando en otros lenguajes.

Luego para hacer juegos, si son en 2D las dos mejores opciones para no tener que empezar de cero son utilizar Cocos o las nuevas APIs para hacer juegos que anunciaron en el último WWDC, creo que se llaman Sprite Kit y con el nuevo Xcode ya vendrán templates.

Si quieres hacer juegos 3D puedes usar algo del tipo Unity o UDK, que es algo mucho más visual y con los que al final incluso tendrás que programar menos, aunque hacer modelados 3D también lleva su tiempo de aprendizaje.

De todas formas y siendo sincero, sin tener ningún tipo de experiencia programando dudo mucho que puedas acabar un juego para iOS porque vas a necesitar dedicarle mucho trabajo y mucho tiempo, y sin ir a algún curso o una clase y teniendo que hacerlo todo por tu cuenta lo más fácil es acabar dejándolo después de un tiempo.
Decir que Objective C es C++ con corchetes es no saber de que se está hablando.
Stylish escribió:Decir que Objective C es C++ con corchetes es no saber de que se está hablando.

Un comentario que aporta mucho, si señor. Hay una cosa que se llama simplificar las cosas, y eso he hecho yo, Obj-C es C++ con corchetes, porque al dar el salto de C++ a Objective-C fue lo que más me llamó la atención, el uso de corchetes para realizar las llamadas a los procedimientos, funciones o métodos de las clases. El resto es muy parecido, alguien con conocimientos de C++ se encontrará a gusto con Obj-C, de hecho me gusta mucho más programar en ese lenguaje que en C++.
Podrías haber escrito algo como "decir que Objective-C es C++ es simplificar demasiado las características de un lenguaje y nada acertado" sin embargo has preferido ir a lo más fácil y criticar la supuesta ignorancia del creador del comentario.
Hombre, hay que usar la crítica constructiva, si no estás de acuerdo con un comentario no basta con decir que es equivocado, explica por qué y tu visión de los hechos, y sin faltar a nadie.
tomich78 escribió:
Stylish escribió:Decir que Objective C es C++ con corchetes es no saber de que se está hablando.

Un comentario que aporta mucho, si señor. Hay una cosa que se llama simplificar las cosas, y eso he hecho yo, Obj-C es C++ con corchetes, porque al dar el salto de C++ a Objective-C fue lo que más me llamó la atención, el uso de corchetes para realizar las llamadas a los procedimientos, funciones o métodos de las clases. El resto es muy parecido, alguien con conocimientos de C++ se encontrará a gusto con Obj-C, de hecho me gusta mucho más programar en ese lenguaje que en C++.
Podrías haber escrito algo como "decir que Objective-C es C++ es simplificar demasiado las características de un lenguaje y nada acertado" sin embargo has preferido ir a lo más fácil y criticar la supuesta ignorancia del creador del comentario.
Hombre, hay que usar la crítica constructiva, si no estás de acuerdo con un comentario no basta con decir que es equivocado, explica por qué y tu visión de los hechos, y sin faltar a nadie.


Es tan absurdo enumerar las diferencias que van tan abajo como al linkado dinámico y que Objective C implementa parcialmente el paradigma de la POO que no merece ni la pena.

Cógete, intenta sobrecargar un operador en Objective C y cuando lo consigas me lo cuentas. O intenta crearte una clase virtual, o intenta usar herencia múltiple, o plantillas, o sobrecarga explícita de métodos... ¿Sigo? ¿O estoy simplificando ahora también?
Stylish escribió:
tomich78 escribió:
Stylish escribió:Decir que Objective C es C++ con corchetes es no saber de que se está hablando.

Un comentario que aporta mucho, si señor. Hay una cosa que se llama simplificar las cosas, y eso he hecho yo, Obj-C es C++ con corchetes, porque al dar el salto de C++ a Objective-C fue lo que más me llamó la atención, el uso de corchetes para realizar las llamadas a los procedimientos, funciones o métodos de las clases. El resto es muy parecido, alguien con conocimientos de C++ se encontrará a gusto con Obj-C, de hecho me gusta mucho más programar en ese lenguaje que en C++.
Podrías haber escrito algo como "decir que Objective-C es C++ es simplificar demasiado las características de un lenguaje y nada acertado" sin embargo has preferido ir a lo más fácil y criticar la supuesta ignorancia del creador del comentario.
Hombre, hay que usar la crítica constructiva, si no estás de acuerdo con un comentario no basta con decir que es equivocado, explica por qué y tu visión de los hechos, y sin faltar a nadie.


Es tan absurdo enumerar las diferencias que van tan abajo como al linkado dinámico y que Objective C implementa parcialmente el paradigma de la POO que no merece ni la pena.

Cógete, intenta sobrecargar un operador en Objective C y cuando lo consigas me lo cuentas. O intenta crearte una clase virtual, o intenta usar herencia múltiple, o plantillas, o sobrecarga explícita de métodos... ¿Sigo? ¿O estoy simplificando ahora también?


Es que te estás desviando del tema, a alguien que no ha programado nunca, no le puedes hablar de linkado dinámico, paradigmas, sobrecargas, herencias o plantillas. No puedes hablarle como si llevara toda la vida programando y con una Ingeniería Informática a sus espaldas. Yo solo intentaba simplificar el tema, diciéndole que si aprende C++ el salto sería más fácil, claro, luego debes tener en cuenta esos detalles específicos del lenguaje, y muchos más, pero eso luego se ve sobre la marcha. Todos esos detalles de sobrecargas y herencias que no se permiten pues habría que intentar solucionarlo de otra manera, pero tampoco descartes que en un futuro cambien, que Objective-C evoluciona constantemente.
Bueno, yo te voy a dar mi punto de vista sobre el tema.

Para aprender a programar lo importante es la logica del algoritmo, si no eres capaz de encontrar el algoritmo a usar en cada momento o dividir un programa en otros mas simples, poco importara que lenguaje utilices. Es por esta razon, que yo te recomiendo que empieces con C, resolviendo pequeños ejercicios sobre matematicas (que suele ser lo tipico) para asi ejercitar la mente.

C no es mas que la base de Objetive C, si lees un poco la historia sobre C, veras que C se quedo corto para algunos programas y se le "añadieron cosas" cada uno por su cuenta, esto genero que hubiese varios caminos y uno de estos caminos fue Objetive C, te digo esto porque aprendiendo C tendras mucho ganado para Objetive C y ademas tendras la base para otros lenguajes como: C++, Java, C#, PHP, etc.

Para aprender C que es lo importante te recomiendo que veas VideoTutoriales, aprendas la base y hagas muuuuchos ejercicios de cada cosa, al menos 20 de cada cosa que aprendas y asi es como se desarrolla la logica para sacar algoritmos que como he dicho es lo importante. Aqui te paso una pagina para con varios tutoriales sobre C:

https://www.youtube.com/channel/UCLchXzm5K44lsprjAfnyvGQ

Ademas de esto te recomiendo que si de verdad quieres aprender, te compres algun libro porque seamos sinceros, cuando has aprendido a usar 1000 cosas diferentes y hace 1 mes que no usas algo, se olvida y tienes dos opciones, o volver a consultar el videotutorial o consultar un libro, yo soy de aprender de videotutoriales y consultar libros, ademas de que los libros suelen traer muchos ejercicios en cada tema... Mas adelante para aprender Objetive C te resultara sencillo con una buena base...
20 respuestas