Objective-C

26 respostas
G

Olá pessoal, alguém já desenvolveu aplicativos para iPhone/iPod? A curva de aprendizagem da linguagem é muito longa? A linguagem tem uma arquitetura tão grande quanto o java (Frameworks, APIS, Persistência, etc) para se aprender?

Obrigado,
Giuliano Costa

26 Respostas

correainfo

giulianocosta:
Olá pessoal, alguém já desenvolveu aplicativos para iPhone/iPod? A curva de aprendizagem da linguagem é muito longa? A linguagem tem uma arquitetura tão grande quanto o java (Frameworks, APIS, Persistência, etc) para se aprender?

Obrigado,
Giuliano Costa

Giuliano

Entao estou comecando a desenvolver tb para iphone/ipod comprei um livro “Dominando o desenvolvimento no iphone” e pelo que eu vi a arquitetura é grande sim a SDK ja tem com varios frameworks. E a sintaxe é um pouco parecida com o java mais to apanhando com a IDE XCODE mais tarnquilo…

Uma coisa que eu percebi que nao tem uma comunidade forte igual nos temos para java como o GUJ. Isso que esta faltando para o pessoal que esta comecando a desenvolver com objective-c.

ate mais

G

Blz correainfo,

pois é, estava pensando em comprar um livro e começar a dar uma brincada (especialmente iPad).
Você já desenvolveu alguma coisa ou ainda esta só lendo o livro?

fabiofalci

Eu brinquei um pouco com o Xcode e o sdk do iphone. Não cheguei a criar nenhuma aplicação, mas fiz algumas telinhas e um pouco de opengl.

Pra quem vem do java é um choque, objective-c, seus .h, .c, releases, [obj metodo]… enfim.
As vezes fazia uma cagada não aparente e penava pra descobrir o que estava errado. A app não abria e não achava uma msg mais explicativa do que poderia estar errado.

Mas, como contra-ponto, a GUI Builder é o melhor que já vi! É so arrastar os componentes, ligar visualmente com setas, ligar com (me esqueci o nome agora)… que faz a ligação com o teu código. Muito bom.
Outra coisa interessante é que não é preciso editar o código das telas (bom, pelo menos nesse nivel inicial que vi). Ele não gera código objective-c com a tela que vc montou, mas sim ele tem um arquivo com uma extensão .xib, em algum formato (não sei qual é) onde estão todas as tuas telas.

M

O problema maior que vejo é toda a burocracia para desenvolver, instalar certificados, assinar aplicação pra rodar no device. Mas pra quem já programou em J2ME o Framework Cocoa Touch é o paraiso na terra. Tem comunicação, persistencia, interface builder, ou seja, tudo que vc precisa pra criar aplicaçoẽs fantasticas.

G

Da pra desenvolver de boa no Windows?

J

Objective-C é bem mais parecido com C++ do que Java.

Mas como ambas foram “inspiradas” no C, há bastante coisa em comum.

A curva de aprendizado não é tão grande, mas é mais difícil do que mudar do Java pro C#, por exemplo.

Pra quem tá acostumado com eclipse ou netbeans, a IDE deixa muito a desejar. Isso com relação à edição de código e debug.
Outra coisa que dificulta o desenvolvimento é que os erros de compilação ou durante a execução não são nada claros.

Mas o SDK é bastante completo e o GUI Builder do XCode, como já disseram, é realmente muito bom.

Pra quem deseja se aventurar nessa área de desenvolvimento móvel, vai fundo, pq dá pra fazer coisas muito interessantes nessa plataforma.

Abs

J

O ambiente de desenvolvimento só roda em Mac.
Não funciona em PC.

Ou vc compra um Mac, ou monta um Hackintosh… :smiley:

aconstantino

só desenvolve no mac… Ouvi dizer também que a IDE dele é bem limitada para codificar

fabiofalci

Acho que não, mac only! :wink:

Uma alternativa ao Objective-c é o http://monotouch.net/

fabiofalci

Engraçado, achei justamente o contrário em relação ao Xcode.
Achei super rápido de codificar, code complete, etc. Mas como disse, fiz só o básico dos básicos.

rod

Eu Desenvolvo.
Atualmente tenho dois apps disponíveis na app store e estou desenvolvendo no meu tempo livre o primeiro jogo.

Se comparado ao java não é tao longa e no site da apple tem material e exemplos de codigo.

A linguagem é um pouco diferente do java, no objc você trabalha com envio de mensagens enquanto no java você invoca métodos.
Mas depois que você entende esse conceito fica tranquilo.

O XCode é legalzinho para trabalhar embora eu sinta falta de alguns recursos que existe no eclipse.
O Interface Builder é otimo para desenhas as telas mas seu uso não é obrigatorio (voce pode fazer tudo via código).

Se for testar os apps direto no iphone/ipod touch/ipad voce vai precisar passar por um processo de cria/exporta/importa certificado que é um pouco chato.

[JABA MODE=ON]
Se tiver interesse tenho um site com artigos, screencasts e forum para galera discutir voltado somente para iphone sdk e mac development. O site esta na minha assinatura! :wink:
[/JABA]

M

fabiofalci:
Engraçado, achei justamente o contrário em relação ao Xcode.
Achei super rápido de codificar, code complete, etc. Mas como disse, fiz só o básico dos básicos.

Tb achei muito bom, e leve, comparado com Netbeans e Eclipse.

rod

fabiofalci:
Engraçado, achei justamente o contrário em relação ao Xcode.
Achei super rápido de codificar, code complete, etc. Mas como disse, fiz só o básico dos básicos.

Eu também acho o Xcode bem legal, um recurso que acho fantástico é o Build and Analyse.

G

Tem como fazer uma VM pra instalar o SO do MAC? Pelo que sei, o SO não é caro…

Seria mais barato do que comprar um MAC completo.

J

gr_marco:
Tem como fazer uma VM pra instalar o SO do MAC? Pelo que sei, o SO não é caro…

Seria mais barato do que comprar um MAC completo.

Existem alguns tutoriais na net sobre como fazer isso.
Eu tentei mas não consegui utilizar de maneira satisfatória.

G

gr_marco:
Tem como fazer uma VM pra instalar o SO do MAC? Pelo que sei, o SO não é caro…

Seria mais barato do que comprar um MAC completo.

Pois é, não queria ter que investir tanto dinheiro para poder começar a fazer apps. Final do ano passado eu quase comprei um iMac mas depois decidi montar um pc. Se fosse comprar gostaria de comprar o de 27" mas esse está muito caro.
Se gasta em mais alguma coisa de licença para aplicativos ou é só possuir um Mac mesmo?

J

Acho que não, mac only! :wink:

Uma alternativa ao Objective-c é o http://monotouch.net/

Apesar de usar muito c# e ser fan do mono, acho o monotouch um pouco caro. Para falar a verdade prefiro sdks gratuitos.

J

giulianocosta:
gr_marco:
Tem como fazer uma VM pra instalar o SO do MAC? Pelo que sei, o SO não é caro…

Seria mais barato do que comprar um MAC completo.

Pois é, não queria ter que investir tanto dinheiro para poder começar a fazer apps. Final do ano passado eu quase comprei um iMac mas depois decidi montar um pc. Se fosse comprar gostaria de comprar o de 27" mas esse está muito caro.
Se gasta em mais alguma coisa de licença para aplicativos ou é só possuir um Mac mesmo?

Pra poder testar o aplicativo no Iphone/Ipod touch, você precisa de uma licença de desenvolvedor, que custa U$99, se não me engano.

G

jdeveloper:
giulianocosta:
gr_marco:
Tem como fazer uma VM pra instalar o SO do MAC? Pelo que sei, o SO não é caro…

Seria mais barato do que comprar um MAC completo.

Pois é, não queria ter que investir tanto dinheiro para poder começar a fazer apps. Final do ano passado eu quase comprei um iMac mas depois decidi montar um pc. Se fosse comprar gostaria de comprar o de 27" mas esse está muito caro.
Se gasta em mais alguma coisa de licença para aplicativos ou é só possuir um Mac mesmo?

Pra poder testar o aplicativo no Iphone/Ipod touch, você precisa de uma licença de desenvolvedor, que custa U$99, se não me engano.

bom, pelo menos não parece tão cara. E como funciona o fluxo pra se ganhar $$ desenvolvendo? O desenv publica no site da apple? Ou simplesmente tu gera pacotes de instalação com serial? O $$ está no suporte ou na venda do app mesmo?

fabiofalci

giulianocosta:
jdeveloper:
giulianocosta:
gr_marco:
Tem como fazer uma VM pra instalar o SO do MAC? Pelo que sei, o SO não é caro…

Seria mais barato do que comprar um MAC completo.

Pois é, não queria ter que investir tanto dinheiro para poder começar a fazer apps. Final do ano passado eu quase comprei um iMac mas depois decidi montar um pc. Se fosse comprar gostaria de comprar o de 27" mas esse está muito caro.
Se gasta em mais alguma coisa de licença para aplicativos ou é só possuir um Mac mesmo?

Pra poder testar o aplicativo no Iphone/Ipod touch, você precisa de uma licença de desenvolvedor, que custa U$99, se não me engano.

bom, pelo menos não parece tão cara. E como funciona o fluxo pra se ganhar $$ desenvolvendo? O desenv publica no site da apple? Ou simplesmente tu gera pacotes de instalação com serial? O $$ está no suporte ou na venda do app mesmo?

Ai que está o pulo do gato da apple. Vc paga, publica na app store e então eles comem 30% do teu faturamento! Apesar disso, parece estar funcionando muito bem pra apple.

G

Os caras não dão ponto sem nó…

Pois é, o brabo é ter que desenbolsar um apple pra começar a desenvolver. Tinha que ter uma SDK que rolasse no windows ou linux pra pelo menos fazer umas brincadeiras pra ver como é.

elomarns

Recentemente comecei a estudar Objective-C visando desenvolver para o iPhone OS e também para o Mac OS X, e posso dizer que inicialmente a linguagem realmente assusta, até porque ela tem uma sintaxe meio críptica à primeira vista. Além disso, ela está mais próxima do C/C++ do que de linguagens de mais alto nível, como o Java, o que afasta muitos desenvolvedores, já que hoje estamos mais acostumados a não nos preocupar com coisas como gerenciamento de memória. Mas depois de um tempo você acostuma e passa a gostar da linguagem, pelo menos foi o meu caso.

Além disso, Objective-C tem coisas bem interessantes, como a orientação a objetos focado em envio de mensagens, inspirada na implementação da orientação a objetos do Smalltalk.

Em relação às ferramentas, eu acho o Xcode excelente, e, talvez por ainda estar começando meu estudo sobre a linguagem, acho que ela não fica devendo nada à IDEs como o Eclipse. Adicionalmente, até acho mais agradável trabalhar com Xcode, até porque muitas das desvantagens creditadas a ele na verdade são da linguagem. Isso sem mencionar o Interface Builder, que é o melhor GUI Builder que eu já usei.

Vale lembrar para quem sugeriu o Mono Touch que ontém a Apple mudou os termos do contrato com os desenvolvedores, impedindo que aplicações desenvolvidas com ferramentas intermediárias sejam lançadas na App Store, o que inclui aplicações desenvolvidas com o Mono Touch, Unity, Game Salad, Adobe Creative Suite 5 (ainda a ser lançada), etc.

fabiofalci

elomarns:

Vale lembrar para quem sugeriu o Mono Touch que ontém a Apple mudou os termos do contrato com os desenvolvedores, impedindo que aplicações desenvolvidas com ferramentas intermediárias sejam lançadas na App Store, o que inclui aplicações desenvolvidas com o Mono Touch, Unity, Game Salad, Adobe Creative Suite 5 (ainda a ser lançada), etc.

Caraio! é mesmo?
mas que diabos? se a apple não ganha dinheiro com o Xcode, pq ela faz isso?!?

G

fabiofalci:
elomarns:

Vale lembrar para quem sugeriu o Mono Touch que ontém a Apple mudou os termos do contrato com os desenvolvedores, impedindo que aplicações desenvolvidas com ferramentas intermediárias sejam lançadas na App Store, o que inclui aplicações desenvolvidas com o Mono Touch, Unity, Game Salad, Adobe Creative Suite 5 (ainda a ser lançada), etc.

Caraio! é mesmo?
mas que diabos? se a apple não ganha dinheiro com o Xcode, pq ela faz isso?!?

A resposta é: Sei lá.

Isso que me indigna na apple, eles querem controlar demais! Até mesmo naquele caso dos conteúdos “adultos” que eles aboliram da app store, se não me engano, um ficou lá, e outros foram abolidos. Eles querem controlar até mesmo o uso que o usuário da ao dispositivo.

M

giulianocosta:
fabiofalci:
elomarns:

Vale lembrar para quem sugeriu o Mono Touch que ontém a Apple mudou os termos do contrato com os desenvolvedores, impedindo que aplicações desenvolvidas com ferramentas intermediárias sejam lançadas na App Store, o que inclui aplicações desenvolvidas com o Mono Touch, Unity, Game Salad, Adobe Creative Suite 5 (ainda a ser lançada), etc.

Caraio! é mesmo?
mas que diabos? se a apple não ganha dinheiro com o Xcode, pq ela faz isso?!?

A resposta é: Sei lá.

Isso que me indigna na apple, eles querem controlar demais! Até mesmo naquele caso dos conteúdos “adultos” que eles aboliram da app store, se não me engano, um ficou lá, e outros foram abolidos. Eles querem controlar até mesmo o uso que o usuário da ao dispositivo.

Pelo que entendi o contrato diz respeito a distribuição pela appstore. Voce pode instalar a app que vc quiser no seu dispositivo (desde que vc pague os $99).

Quanto aos motivos que levaram a essa nova alteração no contrato eu não sei, mas vejo como um recado para o google. Agora que desenvolvedores não poderão criar um código e compilar para duas plataformas, eles terão que priorizar uma plataforma, provavelmente aquela com mais usuários, e adivinha qual será a plataforma escolhida?

elomarns

O motivo para essa proibição é realmente nebuloso, já que teoricamente quanto mais aplicações a App Store tiver melhor para a Apple, uma vez que ela ganha 30% na venda de cada aplicativo.

No entanto, como a App Store no momento já possui mais de 150.000 aplicações, ela acabou se tornando uma plataforma muito poderosa, logo, a Apple não precisa mais se esforçar para atrair desenvolvedores. As empresas e desenvolvedores independentes irão publicar seus aplicativos na AppStore de qualquer forma, mesmo com essa nova restrição, já que muitas empresas possuem seu modelo de negócio quase que totalmente focado na App Store.

Então, se essas empresas desenvolveram ou pretendiam desenvolver aplicações usando ferramentas intermediárias ao invés de usar o iPhone SDK com o Objective-C, elas provavelmente irão usar as ferramentas indicadas pela a Apple de agora em diante, já que algumas dessas empresas ganham milhões com a App Store. Por exemplo, o jogo Plants vs Zombies gerou um lucro de 1 milhão de dólares só nos 9 primeiros dias de venda. É evidente que empresas como a PopCap, que o desenvolveu, lançarão seus produtos mesmo que tenham que ficar presos ao Objective-C, já que não podem dar as costas a um lucro tão grande e de certa forma fácil.

Sendo assim, é provável que o mercado acabe tendo mais pessoas qualificadas para desenvolver usando Objective-C, o que causa o efeito colateral de ter mais desenvolvedores habilitados a desenvolver para o Mac OS X. Isso poderia explicar essa nova restrição, ainda mais agora que há boatos que a Apple crie uma Mac App Store.

Por fim, vale lembrar que a proibição da Apple só é referente a App Store, ainda é possível desenvolver usando outras tecnologias e instalar o aplicativo no seu iPhone/iPod Touch/iPad, ou até mesmo lançar em uma loja alternativa para dispositivos desbloqueados, como a Cyndia.

Criado 8 de abril de 2010
Ultima resposta 9 de abr. de 2010
Respostas 26
Participantes 10