Você está na página 1de 3

- Plural - http://idgnow.com.

br/blog/plural -
Swift: a linguagem que aproxima o mundo da programao
Posted By Silvia Bassi On 21 21America/Sao_Paulo October 21America/Sao_Paulo 2014 @
14:34 n Sem cate!oria " #o $omments
%an&ada '( al!uns meses) a S*i+t ainda !era d,vidas em muitos desenvolvedores- A
novidade sur!iu com a necessidade da A..le em tra/er ao mercado uma lin!ua!em +(cil
de a.render e de se utili/ar- 0ssa iniciativa vem ao encontro de um movimento mundial
.ara tornar a .ro!rama&1o em mais uma lin!ua!em 2ue .ode ser a.rendida .ela
'umanidade- A ideia 3 2ue a S*i+t im.ulsione mais .essoas a criarem cora!em de tentar
+a/er .arte desse mundo) e assim contribuir .ara e4.andir e solidi+icar o ecossistema de
a.licativos da A..le) 2ue 'o5e 5( 3 o mais rent(vel do mercado-
At3 o seu lan&amento) a lin!ua!em mais utili/ada no desenvolvimento de a.licativos .ara
os ambientes iOS e OS 6 era a Ob5etive7$) criada no in8cio dos anos 90- A A..le
.reocu.ou7se em diminuir a resist:ncia ; ado&1o da S*i+t .elos .ro!ramadores
e4.erientes- Para isso) .ermitiu 2ue a nova lin!ua!em utili/asse o mesmo com.ilador e
.udesse conviver com a Ob5etive7$ no mesmo a.licativo- <essa +orma) nin!u3m ser(
+or&ado a a.rend:7la imediatamente) .ois 3 .oss8vel continuar .ro!ramando do 5eito
anti!o e adotar a nova tecnolo!ia aos .oucos-
=as uma .er!unta .ode estar na mente de muitas .essoas: a Objetive-C no era boa o
suficiente> #1o '( d,vidas 2ue essa lin!ua!em 3 muito .oderosa e serviu ; A..le de
+orma in2uestion(vel durante todos esses anos- Por3m n1o 3 +(cil de se a.render- O +ato
de ter sido constru8da com base nas tradicionais lin!ua!ens $ e $?? criou amarras de
com.atibilidade 2ue di+icultam ainda mais a com.reens1o da lin!ua!em) .rinci.almente
.or novos .ro!ramadores-
#o ramo da .ro!rama&1o e4iste uma tradi&1o se!undo a 2ual o ob5etivo do .rimeiro
a.licativo desenvolvido .or um iniciante 3 e4ibir a mensa!em @Aello BorldC- 0sse 3 um
bom e4em.lo .ara entender aonde a A..le 2uer c'e!ar com a lin!ua!em S*i+t- De5a no
2uadro abai4o o cEdi!o7+onte necess(rio .ara atin!ir o mesmo ob5etivo nas lin!ua!ens
Ob5ective7$ e S*i+t:
#a realidade) os comandos .ara e4ibir a mensa!em s1o muito semel'antes) mas no
Ob5etive7$) devido a 2uestFes de retro com.atibilidade) s1o necess(rias muitas outras
lin'as de cEdi!o- #a S*i+t) a.enas uma-
Gemos a8 a .rimeira !rande vanta!em da lin!ua!em S*i+t: a simplicidade- O cEdi!o +onte 3
sim.les e conciso- Al3m de +acilitar a vida dos .ro!ramadores) 2ue .oder1o desenvolver
a.licativos com menos lin'as de cEdi!o) a S*i+t ir( mel'orar tamb3m a vida dos
instrutores) .ois 3 .oss8vel .artir diretamente do ensino dos recursos da lin!ua!em- O
a.rendi/ado de Ob5etive7$) ao contr(rio) e4i!e a e4.lica&1o de muitas re!ras He suas
e4ce&FesI e a aborda!em de temas t3cnicos mais .ro+undos) di+icultando o entendimento
de 2uem n1o 3 da (rea de in+orm(tica-
#o entanto) a sim.licidade n1o torna a lin!ua!em menos .oderosa- A com.atibilidade
com a lin!ua!em Ob5ective7$ +oi mantida e o .acote 5( e4istente de +uncionalidades
HCocoa) .ara =ac e Cocoa Touch) .ara iOSI +oi e4.andido e a.rimorado-
Outra vanta!em im.ortante 3 2ue a S*i+t trou4e recursos ins.irados em lin!ua!ens mais
modernas) como Ruby e JavaScript- As Classes, Estruturas e rotocolos tornaram7se
constru&Fes mais +le48veis e de uso !eral) o+erecendo todos os com.onentes necess(rios
.ara a constru&1o de e4.ressivos .ro!ramas Orientados a Ob5eto- 0 os .ro!ramadores
2ue n1o mi!ravam .ara o ecossistema de desenvolvimento da A..le .ela aus:ncia de
Closures e !enerics n1o ter1o mais essa descul.a) .ois esses recursos +oram
im.lementados na lin!ua!em S*i+t-
=as a S*i+t n1o +oi a.enas ins.irada em outras lin!ua!ens- 0la trou4e v(rias novidades
2ue .ro.orcionar1o m,lti.las o.&Fes aos .ro!ramadores) como os ti.os de dados
avan&ados Tuples e Optionals) a mutabilidade e inter.ola&1o de Strin"s) as .ro.riedades
#a$y) as +un&Fes anin'adas e com retorno m,lti.lo e at3 a +le4ibili/a&1o da estrutura
lE!ica S%itch- At3 a de+ini&1o de vari(veis e constantes +oi moderni/ada) tra/endo a
in+er:ncia de ti.os de dados e maior se!uran&a sobre os dados 2ue .odem ser
trabal'ados em um a.licativo-
A .rodutividade e o .ra/er de .ro!ramar n1o +oram dei4ados de lado- A S*i+t trou4e
conceitos onde a .reven&1o de erros .ode ser e+etuada em tem.o de desenvolvimento)
.ermitindo 2ue os a.licativos c'e!uem ; sua vers1o +inal mais consistentes e bem
acabados- 0 uma das !randes novidades 3 o lay"round) .ar2ue de diversFes n1o
somente na tradu&1o literal) 2ue consiste em um ar2uivo onde o .ro!ramador tem total
liberdade em e4ercitar e testar al!oritmos) .odendo visuali/ar os resultados
imediatamente) sem .recisar +ormalmente criar um .ro5eto e cum.rir todo o .rocesso de
com.ila&1o-
As.ectos im.ortantes como .er+ormance e !erenciamento de memEria n1o +oram
dei4ados de lado- <urante a a.resenta&1o na BB<$) a A..le e4ibiu al!uns casos) como
o tratamento de Cole&'es) onde um al!oritmo em S*i+t era e4ecutado 1-34 mais r(.ido do
2ue o mesmo al!oritmo em Ob5ective7$-
0 atrav3s do AJ$ H(utomatic Reference Countin"I) a S*i+t rastreia e !erencia o uso da
memEria .elo a.licativo) +a/endo com 2ue o .ro!ramador) .elo menos na !rande maioria
dos casos) n1o ten'a 2ue se .reocu.ar com esta im.ortante 2uest1o) 2ue .ode derrubar
a e4ecu&1o de um a.licativo-
0s.era7se) no entanto) al!umas desvanta!ens na ado&1o da nova lin!ua!em) .elo
menos durante certo .er8odo de tem.o- Os desenvolvedores ter1o 2ue .ercorrer uma
curva de a.rendi/ado at3 +icarem .ro+icientes em S*i+t- %evar( um tem.o .ara 2ue os
novos recursos se5am entendidos e absorvidos .or eles e .ossam ser e+etivamente
im.lementados em novos a.licativos- Os desenvolvedores tamb3m ter1o 2ue se
acostumar com a .rE.ria sinta4e da lin!ua!em) 2ue 3 consideravelmente di+erente das 5(
e4istentes no mercado-
Para ser utili/ada) a S*i+t re2uer a nova vers1o da inter+ace de desenvolvimento da
A..le) o 6code K) 2ue anda est( em +ase beta e dis.on8vel a.enas .ara desenvolvedores
cadastrados- O 6code K ser( lan&ado o+icialmente 5unto ao novo sistema o.eracional
Losemite) o 2ue dever( ocorrer entre a!osto e setembro- A.Es o lan&amento o+icial) os
apps desenvolvidos em S*i+t .oder1o ser imediatamente submetidos ; lo5a de a.licativos
A.. Store-
Para 2ue todos .ossam devidamente se .re.arar .ara o lan&amento o+icial) a A..le 5(
dis.onibili/ou dois e-boo)s !ratuitos e criou um blo! es.ecialmente dedicado ; nova
lin!ua!em:
O .rimeiro e7booM N The S%ift ro"rammin" #an"ua"e) tra/ todo o conte,do da nova
lin!ua!em e destina7se a 2ual2uer .,blico) se5am desenvolvedores 5( e4.erientes
ou novos .ro!ramadores-
O se!undo e7booM N *sin" S%ift %ith Cocoa and Objetive-C) destinado a
.ro!ramadores da lin!ua!em Ob5ective7$) detal'a a com.atibilidade e
intero.erabilidade entre as lin!ua!ens-
Ambos os e7booMs est1o dis.on8veis atrav3s do a.licativo iBooMs) tanto .ara =ac
como .ara os dis.ositivos com iOS-
A .(!ina o+icial da lin!ua!em tamb3m tra/ muitas in+orma&Fes sobre a nova
lin!ua!em) e est( dis.on8vel no endere&o 'tt.s://develo.er-a..le-com/s*i+t/
O1P
Pode7se ter acesso ao blo! e4clusivamente criado .ara a S*i+t no endere&o
'tt.s://develo.er-a..le-com/s*i+t/blo!/
O2P
$entros de treinamento tradicionais em desenvolvimento mobile) como o iai> Hnstituto de
Artes nterativasI) tamb3m est1o se .re.arando .ara o lan&amento de cursos com.letos
sobre a nova lin!ua!em-
Podemos concluir 2ue tecnicamente a S*i+t 3 muito bem7vinda- $omo costuma +a/er
tamb3m com .rodutos e tecnolo!ias 5( e4istentes) a A..le reinventou recursos de
.ro!rama&1o 5( utili/ados em outras lin!ua!ens e adicionou novas caracter8sticas) 2ue
.ro.orcionar1o aos desenvolvedores a cria&1o de a.licativos mais robustos) de taman'o
menor e com a .er+ormance otimi/ada- 0 2ue .oder1o ser desenvolvidos em menos
tem.o e) .ortanto com custos menores) o 2ue 3 uma vanta!em com.etitiva neste
mercado) .ois ir( .ermitir 2ue uma boa ideia se5a ra.idamente im.lementada .ara) 2uem
sabe) tornar mais um desenvolvedor milion(rio-
A A..le) mais uma ve/) est( !erando uma .e2uena revolu&1o) desta ve/ no mercado de
desenvolvimento de soft%are-
Article .rinted +rom Plural: http://idgnow.com.br/blog/plural
QJ% to article: http://idgnow.com.br/blog/plural/20!/0/2/"wift-a-linguagem-que-
aproxima-o-mundo-da-programacao/
QJ%s in t'is .ost:
O1P 'tt.s://develo.er-a..le-com/s*i+t/: http"://de#eloper.apple.com/"wift/
O2P 'tt.s://develo.er-a..le-com/s*i+t/blo!/: http"://de#eloper.apple.com/"wift/blog/
$o.yri!'t R 2010 #o*S<i!ital Business %tda- Godos os direitos reservados-