Ați încercat Swift? Cum vi se pare?

Swift e mult mai tare decat JS si IDE-ul celor de la Apple e genial de bine facut, nu dau multe sanse aplicatiilor react native.

Trebuie sa fi nebun sa ii dai omului o aplicatie de 100mb in loc de o aplicatie de 2mb si swift se tine tare pe urmele C-ului la viteza.

1 Like

Sunt unele situații în care ai de ales între nebunia de a dezvolta o aplicație de 100mb făcută de un om vs nebunia de a plăti doi-trei programatori pentru a dezvolta două-trei apps de câte 2mb. Și aici excludem partea de mentenanță.

Dacă ai o aplicație utilitară, ce nu folosește efecte grafice, cel mai probabil nu vei simti vreo diferență de performanță între ObjC, Swift sau JS :slight_smile:

2 Likes

Mai documenteaza-te si uita-te la rata de adoptie in companiile mari.

100mb probabil te referi la aplicatiile bundled in Electron, n-are treaba cu React Native, uita-te pe GitHub la exemple si vezi marimea lor.

Nu mai luati prin comparatie mere cu grefe si lamai. Ai o opinie ofera ceva argumente, nu marul e mai dulce decat lamaia.

Am pus un raspuns rapid la https://www.decosoftware.com/ care e facut pe mac os x pentru iOS. Daca ma uit la orice joc, orice aplicatie serioasa pe iOS e vorba de Swift sau Objective-C, pe android C++ la orice legat de jocuri sau unde conteaza eficienta. Swift e comparabil cu C/C++ dar e mai frumusel.

React native e fain pentru user interface, dar e imposibil sa faci ceva serios cu JS pe un procesor ARM fiindca poti praji un ou pe telefon cum folosesti putin procesorul, daca faci client de streaming date intre server si clienti cu react sau o aplicatie noua din api-uri existente E FOARTE BUN. Peste 60% din aplicatii se pot realiza cu react native fara sa fie mari probleme de performanta. E twitter bootstrap pentru mobile/cross platform development.

Pentru restul chiar si cei de la Google/Facebook se gandesc/s-au apucat sa schimbe Java pe Swift in Android. Prima data probabil o sa avem un Swift pe JVM si un cross-compiler nativ pe toate procesoarele suportate de android. Sa nu uitam ca TypeScript a fost adoptat de echipa AngularJS…

Hai să le luăm pe rând :slight_smile:

  1. Trebui să fii un pic sărit de pe fix să iei în considerare JS pentru a scrie un joc de mobil complex. Un flappy sau un 2048 merg scrise în js. Fruit ninja sau Asphalt… poate că nu. Deci putem să excludem liniștiți genul ăsta de aplicații;
  • Dacă excludem aplicațiile cu grafică serioasă, rămân restul de aplicații, pentru care nu ai vreun motiv serios să NU îl scrii cu JS;
  • Google vrea să renunțe la Java din cauza problemelor cu Oracle, nu pentru că ar fi X sau Y mai bun :slight_smile:

Acum câțiva ani, Facebook a declarat sus si tare că HTML/JS nu e o idee bună pentru mobil. Doar că, niște băieți mai deștepți decât ei, au făcut asta:

2 Likes

Inclusiv eu, care sunt mare fanboy al limbajelor compilate (ca şi @isti37 probabil), nu pot decât (cu ego rănit) să admit validitatea afirmaţiei de mai sus. deşi - tră’ să recunosc - cu greu m-a răzbit această revelaţie.


Legat de aspectul performanţei, m-a iluminat o prezentare pe tema progresului din domeniul process virtual machines-urilor, respectiv a language engine-urilor.

Progresul poate fi remarcat în slide-urile 66-97, în care sunt expuse construcţia şi “fiziologia” (alături de concluzii legate de performanţă) a engine-urilor consacrate: V8, JavaScriptCore etc.


Totuşi cred că mai exisţă un caz suplimentar când nu ai vrea să foloseşti JS şi anume când intenţionezi să faci variante dedicate fiecărui OS şi implicit vei folosi toate facilităţile expuse de acesta.

Deşi există mai multe framework-uri à la Cordova, nu prea îmi vine să cred că-ţi permite vreunul să accesezi toate facilităţile expuse… posibil să se fi schimbat situaţia între timp, iar eu să nu fiu la curent (nu neg).

Eu am făcut câteva apps în Cordova, în care am folosit:

  • locația
  • camera
  • media library (sau cum s-o numi)
  • giroscopul
  • butoanele native din android (back, menu);
  • storage

etc.

Ultima aplicație am dezvoltat-o în browser și, la sfârșit, am compilat-o pentru iOS și Android fără nici un fel de probleme. Am compilat-o de probă pentru Win Phone și în afară de ceva fonturi a mers și acolo făra probleme.

Adevărul e că nu era o aplicație extrem de complexă: un soi de catalog de produse, posibilitatea de a adăuga produse custom, chat real time, sugestii în funcție de locație șamd.

Acum încearcă să justifici plata a doi-trei programatori pentru asta. :smiley:

4 Likes