Jump to content

Xamarin vs Android Studio (nākotne)


Ezeliitis
 Share

Recommended Posts

Sveicināti. Gribēju apjautāties par jūsu pieredzi/pros+cons/viedokli saistībā ar android studio pret xamarin izstrādes vidi.

Pašlaik, ko es esmu sapratis: es noteikti vēlos saistīt savu nākotni ar mob app izstrādi, bet gribētu dzirdēt jūsu viedokli par to, kur būtu lielāks potenciāls, jūsuprāt, un kādēļ. (Pamati ir C++ un Javā)

Skaidrs ir tas, ka vieglāk pašam noteikti ir Android Studio, jo ir apaksā ir Java, bet nav jau grūti apgūt arī C#, bet vai būtu prātīgi mētāties? Vai tas nākotnē atmaksātos (Xamarin nākotne/LV)? Vai labāk ir palikt tur, kur esmu ieslīdējis (Android app izstrādē)? No vienas puses labi ir tas, ka Xamarin piedāvā vienlaicīgi uz vairākām OS izveidot app'us, toties, tad atkal, manuprāt, android ir jebšu visur un nākotnē tas burbulis tikai pūtīsies lielāks (TV, tablets, pulksteņi, etc.).

Jūsu viedokļi? :)

Link to comment
Share on other sites

Jūsu viedokļi? :)

Ja tikai priekš Android un tu jau māki Java, tad noteikti Android Studio.

Ja C# nav šķērslis un agri vai vēlu vēlēsies taisīt appus priekš iOS u.c. OS, tad noteikti Xamarin.

 

toties, tad atkal, manuprāt, android ir jebšu visur

Ir, bet vislielākā peļņa deviem ir tieši no iOS, kā lietotāji nav tik skopi :D

http://www.businessinsider.com/apple-app-store-revenue-per-user-versus-android-2016-7

Labots - itanium
Link to comment
Share on other sites

1) Nopietnas aplikācijas taisa katrai platformai atsevišķi, bet arī tur ir nopietna jātne ar katras platformas versijām/savietojamību/support bibliotēkām, ārējām bibliotēkām, natīviem libiem (C/C++), utt.

   NE-VIE-NU gadījumu neesmu redzējis, kad nopietnas lietas taisītu ne-natīvi. Ir pirmie React ziediņi, bet tie ir vēl tikai ziediņi.

2) C# vienmēr noderēs, neredzu iemeslu baidīties no tā vai izlaist.

3) Latvijā ļoti daudz kas ir tieši mazām vidēm. Iefist kapeiku, uztaisot vienkāršu aplikāciju ar jaunumiem. Tur pasūtītāji nezina atšķiriību starp Android, Xamarin un HTML. Tur ar HTML mierīgi pietiek.

4) Kompilējot priekš Mac vienalga vajadzēs āboldatoru. Bet arī tad es personīgi ietu uz natīvu Swift mācīšanos, JA mērķis ir nopietnas aplikācijas. Kapeikfišana ir Xamarin mērķauditorija, natīvā izstrāde ir nopietnākai izstrādei. Skaties pats - gribi strādāt algotus darbus vai arī iziet uz masveida piedāvājumu. Masveidā taisīt vienkāršas aplikācijas visiem pa lēto - tur Xamarin ir perspektīvas.

 

http://buildfire.com/buildfire-features/- šeit viņi piedāvā pakot HTML abām platformām bez āboldatora, paši onlainā visu menedžējot, bildojot un publicējot.

Labots - usver
Link to comment
Share on other sites

 

 

NE-VIE-NU gadījumu neesmu redzējis, kad nopietnas lietas taisītu ne-natīvi.

Xamarin ir ne tikai Xamarin.Forms!

UI var taisīt ar natīvajiem tūļiem katru savai platformai. Dzini, kas visu kustina var veidot vienu (iespēju robežās, pēc tam ar atzariem).

Jā, āboldators ir ultimate dev machine priekš Xamarin - var taisīt gan priekš Android, gan priekš iOS.

Link to comment
Share on other sites

NE-VIE-NU gadījumu neesmu redzējis, kad nopietnas lietas taisītu ne-natīvi.

Tagad būsi: https://www.xamarin.com/customers

Laiks iet uz priekšu, izmaksu samazināšana un ātrāka izstrāde paliek arvien aktuālāka.

Protams, ir ĻOTI specifiskas lietas, ko ar Xamarin būs krietni sarežģītāk uztaisīt, bet ar laiku tādu paliek ar vien mazāk.

 

P.S. Ar Xamarin tev tāpat ir jāpārzin API un daudz specifisku nianšu katrai OS u.t.t.

P.P.S. Priekš darba ņēmēja (meklēt un dabūt algotu darbu), protams, Native ir to go.

 

 

Features Java No

Nav no vecajiem laikiem, kad bija telefoni, kas atbalstīja JAVA aplikācijas?

Jā, tā izskatās: http://www.gsmarena.com/nokia_6600-454.php

Labots - itanium
Link to comment
Share on other sites

diezgan nabadzīgs tas klāsts. 100x lielāka liste ir natīvajai izstrāde, bet lai nu būtu.

 

Tur pie klientiem ir minēts Slack. https://www.xamarin.com/customers/tech 

Es ik pa laikam skatos Addons-Detector teikto, un tur Slack izmanto standarta Android Java libus. Kurš muld? Detektēšanas softs vai Xamarin reklāma? Es ticu, ka kādreiz demo līmenī ir mēģināts. Bet vai tiešām Slack palika pie tā? Izskatās, ka ne.

 

post-62394-0-99370900-1475225364_thumb.png

 

Pinterest tas pats komplekts.

 

Bet tīri Xamarin appu uzinstalējot, bilde ir jau pavisam cita. Nekādu Androīda Java libu

 

post-62394-0-44845800-1475225518_thumb.png

 

Sou .. es varbūt kaut ko pa 5 gadu Android izstrādi neesmu pamanījis, bet nu man liekas, ka Xamarin kaut ko piemuld par savu tirgus daļu.

Link to comment
Share on other sites

 

 

Es ik pa laikam skatos Addons-Detector teikto, un tur Slack izmanto standarta Android Java libus. Kurš muld? Detektēšanas softs vai Xamarin reklāma? Es ticu, ka kādreiz demo līmenī ir mēģināts. Bet vai tiešām Slack palika pie tā? Izskatās, ka ne.
 

Ar Xamarin'u var linkot Java bibliotēkas. Reāli lietojot Xamarin, sanāk uzrakstīt interfeisus iekš Xamarina un tapat lielu daļu implementācijas vajadzēs rakstīt atsevišķi gan Anroīdam, gan iOS.

Link to comment
Share on other sites

itanium: Nu tad pastāsti, lūdzu, kas ir Xamarin? Es labprāt paklausīšos.

 

es speciāli ieliku bildītes, kur vienā (Xamarin demos) ir Xamarin.Android pie libiem, otrā un trešajā nav. kāda jēga likt, ja pēc tam cilvēki rindā nāk un gudri stāsta, ka "sistēma, kas griežas uz Java, māk lietot Java bibliotēkas". Es takš nesaku, ka nevar - bet libu struktūra saka, ka tie ir pamati, kas izskatās, ka no sākta gala aplikācija ir Javā rakstīta. Butterknife priekš kam lieto? Un kāpēc, ja Xamarin ir Cheeseknife tādam nolūkam? Tā ir zobu labošana caur pakaļu, un man izskatās, ka aplikācija ir natīva Androīda aplikācija.

 

Lūdzu, te būs saturs abiem APK - Xamarin demo un slakam. Atrodi 10 atšķirības! Un pastāsti, ko Xamarin samplī dara DLL failu kaudze, un kāpēc slakam neko tādu nevajag?

 

post-62394-0-33252200-1475227105_thumb.png

Link to comment
Share on other sites

Pļet, tu izliecies ? Bez interfeisošanās ar Java's API tu neko daudz panākt nevari. Binder'u priekš message passing'a tu vari lietot tikai no Java API, pat ar NDK to izdarīt nevar.

Xamarin būtība ir CLR Vm's, ko palaiž no Java's wrappera. 

Labots - nevertell
Link to comment
Share on other sites

es neredzu atbildi uz to, ko vienā projektā dara DLL, kamēr otrā ir tukšums.

Kur, lūdzu, user-defined klases Xamarin'ā tiek glabātas? Gadījumā ne kā DLL iekš "assemblies" foldera, ne? Kāds bildītes vispār skatās, ko es metu?

 

The application assemblies (containing IL) are stored uncompressed within the assemblies folder. During process startup in Release builds the .apk is mmap() ed into the process and the assemblies are loaded from memory. This permits faster app startup, as assemblies to not need to be extracted prior to execution. - Note: Assembly location information such as Assembly.Location and Assembly.CodeBase cannot be relied upon in Release builds. They do not exist as distinct filesystem entries, and they have no usable location.

 

ir jābūt diezgan stipri apdauzītam, lai ne-Java aplikācijā lietotu TIK zema līmeņa libus kā Dagger un Butterknife (ja kādam no klātesošajiem ekspertiem ir nojausma, priekš kam tos lieto). Kāda jēga tad no abstrakcijām uz C#, ja vienalga JAVA klašu IoC bindošana tiek iekļauta projektā? Un to nedara "Hello, world" aplikācijām, bet nopietnai Java izstrādei.

 

es ļoti labi zinu, ka viss Xamarin ir parasto API saukšana vienā laidā - https://github.com/xamarin/monodroid-samples/blob/master/android5.0/Toolbar/HelloToolbar/MainActivity.cs, jebkurš Android programmētājs redzēs  0.95:1 parastu Android Activity ar 5% abstrakcijas slāni. Takš ezim skaidrs, ka bez Android standarta API tur nekas nenotiks.


 

 

Xamarin būtība ir CLR Vm's, ko palaiž no Java's wrappera.

 

 

Beidzot saprāta graudiņš. Miljons dolāru jautājums - kādā formātā CLR izpilda programmētāja nodefinētās klases? Viņš .class ielādē vai .dll failus ielādē? Un kur programmētāja nodefinētās klases tiek glabātas?

 

Kad uzzināsi atbildi, tad uzraksti, lūdzu. Mana versija, ir ka tam ir "assemblies" folderis ar "MobmaximeSamples.dll" (kā Xamarin demo piemērā no com.mobmaxime.xamarin APK ). Un tāda esamība vai neesamība nodala Xamarin un ne-Xamarin aplikācijas. Līdz Taviem secinājumiem šī diskusija ir tukša gaisa tricināšana ar apvainojumiem, ka "usver stulbs, netic autoritātēm un foruma guru uz vārda, ka konkrēts apps esot rakstīts iekš Xamarin, kamēr APK saturs liecina par pretējo".


eksperti nez kāpēc pazuda, kad saprata, par ko vispār ir runa kopš paša sākuma  ;)

 

Pinterest ir tieši tā pati aina. Sou .. kurš muld? Man liekas, ka Xamarin un tie, kas apgalvo, ka Slack un Pinterest esošās versijas esot Xamarin taisītas. Un nonākam pie secinājuma, ka ja nopietni softi ir kādreiz mēģināti iekš Xamarin, tad pēc tam tas ir izmests un Android natīvais FTW.

Labots - usver
Link to comment
Share on other sites

Pļet, Xamarin's ielādē .class failus priekš Java bibliotēkām caur džavas interfeisu. Visām šitām bibliotēkām jābūt C# interfeisam.  Dll failos tu glabā kompilēto C# IR. 

Pats neesmu rakstījis Xamarin'u, esmu tikai reversojis applikācijas. Android natīvais kods tāpat tiks lietos, pat priekš Xamarin. Tu vienkārši netiec pie visiem servisiem, ko tev dod Andždroīda java API, Huhle apzināti ir dizainējusi šo platformu tā.

Link to comment
Share on other sites

Es takš nesaku, ka nevar - bet libu struktūra saka, ka tie ir pamati, kas izskatās, ka no sākta gala aplikācija ir Javā rakstīta.

Nu, lai tā būtu - kaudze citu piemēru tur dota.

Vari iziet visiem cauri un noreportēt te - izskatās, ka tev tāpat nav ko darīt! :)

Es gan tā arī nesapratu, kāpēc Xamarin, tavuprāt, neder nopietnai izstrādei.

 

Manuprāt, Xamarin ir jēga apsvērt tikai tad, ja padomā ir kas vairāk kā tīra Android izstrāde - tur arī slēpjas visa Xamarin sāls. 

Tā vietā, lai mācītos Swift + Java + katras OS specifiskās lietas, pietiks ar C# + katras OS specifiskās lietas.

 

 

Vai tas nākotnē atmaksātos (Xamarin nākotne/LV)?

Par nākotni nezinu, bet tagadne vismaz darba tirgū nav spīdoša: cv.lv meklē vakances pēc "Xamarin"

 

Ja strādāt uz sevi, tad visai spīdoša - gan tikai, ja vairākām platformām! Konkurētspēja

Labots - itanium
Link to comment
Share on other sites

Maks un aifons tikai izstrādei - sanāk dārgi...

 

 

āboldators ir ultimate dev machine priekš Xamarin
 
Link to comment
Share on other sites

 

 

Maks un aifons tikai izstrādei - sanāk dārgi...

Jā, bet ko darīt? Uz OSX tu vari kodēt gan priekš Android, gan priekš iOS.

Link to comment
Share on other sites

 

 

 Dll failos tu glabā kompilēto C#

nonākam pie tā paša secinājuma, ka tādu DLL failu esamība vai neesamība ir ticams indikators Xamarin esamībai vai neesamībai minētajos softos, par ko vispār arī bija sākotnējā diskusija.

 

 

 

Es gan tā arī nesapratu, kāpēc Xamarin, tavuprāt, neder nopietnai izstrādei.

bugi, performance (ja performance sāk kļūt par problēmu, tā arī ir bugs). auzas sākas, kad rodas ekstrēmie gadījumi/lielas slodzes/nestandarta klienta versijas, kurām abstrakcija neļauj taisīt vorkaraundus. Ja pat Android pats ir ar kaudzi bugiem visdažādākajās versijās, tad vēl 1 abstrakcija ievieš papildus problēmas. Priekš kam to darīt, ja nopietnos projektos būs full-time 1..2..3 natīvie izstrādātāji katrai platformai, vismaz es tā redzu daudzu cilvēkgadu projektos. Kapeiciņu iefist, ieviešot jaunas galvassāpes ar saukli "code reuse"?

 

Ja code reuse ir uzņēmuma stratēģija, tad tam ir portabls C domāts zema līmeņa procesiem: https://github.com/Parrot-Developers/ARSDK3/blob/master/arsdk/src/main/java/com/parrot/arsdk/ARSDK.javahttps://github.com/Parrot-Developers/ARSDK3/blob/master/arsdk/jni/Android.mk , kamēr GUI taisa katrs savu natīvi, ar vorkaraundiem. Ir, protams, minētais React, bet tikai ziediņos vēl.

Link to comment
Share on other sites

 

 

bugi, performance (ja performance sāk kļūt par problēmu, tā arī ir bugs)

https://www.xamarin.com/profiler

 

 

 

Priekš kam to darīt, ja nopietnos projektos būs full-time 1..2..3 natīvie izstrādātāji katrai platformai

Nu, tas jau ir atkarīgs kāds ir setups. Kaudzi no tiem ento gadu projektiem varētu bez problēmām taisīt uz Xamarin.

Link to comment
Share on other sites

viskautko varētu - reiz uztaisīju vienu projektu kā natīvu Android aplikāciju. Pasūtītājs samaksāja man, samaksāja iOS izstrādātājam. Pēc tam izdomāja, ka "ir taču HTML5!!!". Ar iekšējo izstrādātāju resursiem uztaisīja tādu versiju, nodropojot vecās.

Pēc 1..2 gadu ņemšanās tas pats pasūtītājs plāno nākamo projektu, prasa man - vai esmu brīvs, vai zinu kādu brīvu Android cilvēku. BET tikai natīvu - ne HTML. Diez, kāpēc, ja reiz visu var uztaisīt ne-natīvi.. ;)

Link to comment
Share on other sites

Bļins, nu tu salīdzināji HTML ar Xamarin (Xamarin.Android un Xamarion.iOS, ne Xamarin.Forms)...

Ir, protams, kaut kas, ko var arī uz HTML taisīt, bet tas ir tālu no kaut kā nopietna.

Reiz apskatījos (devu iespēju) Intel XDK - sviests :)

Labots - itanium
Link to comment
Share on other sites

Nez, tie paši Slack laikam nekā nejēdz, ja reiz neizmanto tik brīnišķīgu iespēju - aizbrauc pie viņiem, iesaki kā uzlabot visu tur! :)

Link to comment
Share on other sites

Izskatās, ka Slack un Pinterest izmanto tikai Xamarin Test Cloud :)

Thousands of businesses worldwide use Xamarin to build, test, and monitor powerful apps.

Tev jāfiltrē, ko tu izvēlies kā "slikto" piemēru.

 

aizbrauc pie viņiem, iesaki kā uzlabot visu tur!

Aizbrauc pie, piemēram, Coca-Cola Bottling Co., un pasaki, ka viņi neko nejēdz un kā tām lietām jānotiek!

Labots - itanium
Link to comment
Share on other sites

 

 

Tev jāfiltrē, ko tu izvēlies kā piemēru.

man?

 

 

NE-VIE-NU gadījumu neesmu redzējis, kad nopietnas lietas taisītu ne-natīvi.

 

 

 

 

 

Aizbrauc pie, piemēram, Coca-Cola Bottling Co., un pasaki, ka viņi neko nejēdz un kā tām lietām jānotiek!
 

vai tad es stāstu, ka visu var taisīt ar silverbulletu X, un būs ne sliktāk kā ar tradicionālajiem rīkiem? diez vai. takš nomierinies - taisi vai netaisi freimvorkā kādā gribi, man viens pīpis.

 

mans grēks - iesaistījos diskusijā ar padziļinātiem, tehniskiem komentāriem, jo man šajā sfērā ir minētā 5 gadu pieredze ar natīvu Android izstrādi. aiz ziņkārības pārliecinājos vai tiešām Xamarin ir populāros softos iekšā, procesā atklausoties visādas figņas, ko tikai visu es nezinot un nesaprotot. Pārliecinājos, man bija taisnība - bet lalala blablabla muldēšanu par neparko lūdzu tālāk bez manis. hau!

Link to comment
Share on other sites

man?

Jā, tev, jo es tev iemetu ar sarakstu, kur pie katra uzņēmuma klāt ir rakstīts, ko no Xamarin izmanto.

Ja lasīt nemāki, tās jau ir tavas problēmas!

 

Pārliecinājos

Par ko tieši tu pārliecinājies?

EasyJet: https://play.google.com/store/apps/details?id=com.mttnow.droid.easyjet

Aviva: https://play.google.com/store/apps/details?id=com.aviva.ukgi.avivadrive&hl=en

Šie gan laikam nav gana nopietni priekš tevis.

Labots - itanium
Link to comment
Share on other sites

 

 

Par ko tieši tu pārliecinājies?

Pārliecinājos, ka vajag iet pie Tevis konsultēties Android jautājumos. Tik forši māki gan pasūtīt uz linku, ka "Xamarin testēšanas platforma māk inklūdot java libus, ko tur brīnīties", gan visādi citādi apgaismot.

 

Varbūt vajag palasīt, kas īsti ir Xamarin? https://developer.xa...a-java-library/

Nesen bija jāveic bringaps plikai Android platei, jāsagatavo Android bilds un jānodrošina ar polisēm Android aplikācijas saziņa caur seriālo portu un GPIO - skāde, ka neiedomājos Tev paprasīt, nācās pašam debugot un uztaisīt lai strādā.

 

Un piekrītu, 5x gadā atverama lidojumu aplikācija, kuras trafiks un auditorija ir par dažām kārtām mazāki kā pēdējam softam, pie kura strādāju - nopietna lieta. es takš saku, ka daudzi CTO ir vienkārši l0hi, ka neizmanto Xamarin iespējas un nenorāda iesūnojušajiem izstrādātājiem, kas viņiem būtu labāk daudzmiljonu softiem!

Link to comment
Share on other sites

Ko tu jauc mippi ar pirkstu ? 

Fanduel UK applikācija ir rakstīta iekš Xamarin. Daudz kas ir rakstīts ar Xamarin. Ja tev gluži HTML formas neder, bet divas koda bāzes ar negribāš uzturēt, nav iemesla nelietot Xamarin'u, ja nav nekādas ūber prasības. Un pļec, cik daudz tad tu rakstīji iekš džavas priekš tiem GPIO ? Ja jau kompilēji savu Andžas build'u, tad jau zini, ka dafiga tev bija jāraksta C++, ne tikai Java. Jebšu, galīgi ne tas, kam Xamarin's ir domāts. 

Starp citu, ne visas applikācijas, ko raksta, ir paredzētas entajiem miljoniem. Tas gan nenozīmē, ka šis applikācijas ir mazāk svarīgas biznesiem, kas viņas pasūta/taisa. 

 

Slack apps pietam ir tīra web applikācija ar dažiem binding'iem priekš notifikācijām un kameras. Pie tam diezgan sūdīgi izstrādāta.

Link to comment
Share on other sites

 

 

Slack apps pietam ir tīra web applikācija ar dažiem binding'iem priekš notifikācijām un kameras.

Bet entie cilvēkgadi -  značit nopietna štelle.

 

 

 

Tik forši māki gan pasūtīt uz linku, ka "Xamarin testēšanas platforma māk inklūdot java libus, ko tur brīnīties"

Piedod, bet tu SMAGI sapinies meistarībā un tagad tik turpini savu tuftu dzīt, lai no tās izstrebtos...


 

 

Un piekrītu, 5x gadā atverama lidojumu aplikācija, kuras trafiks un auditorija ir par dažām kārtām mazāki kā pēdējam softam, pie kura strādāju

Piedod, bet ej tak tu reiz 3 mājas tālāk! Tu saki, ka Xamarin nekam nopietnam, protams, nenodefinējot, ko tu ar to domā, neder, es tev rādu, ka der un ka pat lielie dūži izmanto!

Link to comment
Share on other sites

itanium: zini es esmu pastrādājis ne ari pašiem lielākajiem,bet itkā ar "lielajiem dūžiem".  Daudzās korporācijās veselo saprātu ir aizstājusi politika. Bieži vien tur lēmumus pieņem nevis programmētāji kuri rūpīgi izpēta kas ir labs, bet menedžeri kuri paskatās , ka freimworkam prezentācijā ir vairāk ķeksīšu salīdzināšanas tabulā.  Un menedžerim motīvs parasti ir ka ir jāmeklē tikai viens programmētājs (xamarin,PhoneGap) nevis 2 (Android un iOS) un viņš uzreiz maģiski radīs programmu visām programmām. Viņš to pārspriež ar citiem vadītājiem kuriem ļoti patīk ideja - viens programētājs, viena platforma un pieņem lēmumu.

Viena no bieži dzirdamām frāzēm skan "Good enough."  

Tā ka atsauce uz lielām korporācijām nav  patiesības etalons.

 

Btw man labāk patīk native rīki, bet ekonomikai jābūty ekonomiskai.

Labots - zeds
Link to comment
Share on other sites

Zed, protams, nevar tev nepiekrist - bieži vien tā arī notiek, bet ne vienmēr.

Gan 1 vai 2 programmētāji (tevis dotais piemērs) neizklausās diez ko "dūžiski".

 

Tajā pašā laikā, kā var sagaidīt, ka kantoris ar saviem esošajiem Java/Swift programmētājiem varētu iedomāties kaut ko taisīt iekš Xamarin? Taciņa iemīta - par to arī ies.

Link to comment
Share on other sites

Nu ja vienu un to pašu funkcionalitāti var panākt gan ar Xamarin, gan nativo, bet otrais maksā dārgāk, tad kāda velna pēc, lai pasūtītājs izvēlētos otro?

Ja nav ekanomiska pamatojama maksāt vairāk, tad neviens arī nemaksās.

Labots - AndrisBB
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...