Xamarinin kanssa työskentelyssä on monia hyviä puolia ja etuja, ja sen käyttö ja suosio näyttävät olevan yhä enemmän kysyttyjä, ja kasvamaan päin. Selvitämme miten tämä toimii, miksi Xamarin- kehittäjiä tarvitaan, kuinka löytää ja haastatella heitä, ja mitä Xamarinin kanssa työskentely sisältää.
Monialustainen sovelluskehitys näyttää olevan nousussa verrattuna natiivisovelluskehitykseen. Erityisesti tässä tapauksessa tämä johtuu pitkällä aikavälillä alentuneista kustannuksista, koodin jakamisesta ja uudelleenkäytöstä sekä yleisestä toimivuudesta. Xamarin- kehittäjillä on tämän vuoksi aiempaa enemmän kysyntää.
Täydellisessä rekrytointioppaassamme opit lisää tämän alustan suosiosta ja käytöstä, kehittäjän työasemasta ja velvollisuuksista, tehtävistä, haasteista, tilastoista ja muusta.
Tietoja Xamarinista
Xamarin on vuonna 2011 julkaistu avoimen lähdekoodin työkalualusta. Sitä käytetään tehokkaiden sovellusten luomiseen iOS:lle, Windowsille ja Androidille, kaikki C# -ohjelmointikielellä.
Se on abstraktiokerros, joka hallitsee jaettua koodiviestintää alustakoodin kanssa, ja se toimii kontrolloidussa ympäristössä muistin varaus- ja roskakeräysominaisuuksilla.
Xamarinin avulla kehittäjät voivat hallita ja viestiä jaettua koodia olemassa olevan alustakoodin sisällä. Yhteenvetona se tarkoittaa, että kaikki kehittäjät voivat jakaa enemmän tai vähemmän 90 % sovelluksistaan useille alustoille.
Xamarin on alkuperäisesti käännetty, ja kehittäjät haluavat melkein aina rakentaa sillä korkean suorituskyvyn sovelluksia, jotka tuntuvat ja näyttävät alkuperäisiltä.
Xamarinin avulla voit rakentaa natiivisovelluksia iOS: lle ja Androidille sekä natiivisovelluksia Macille ja Windowsille. Tämä sanoi kuitenkin, että kehittäjä ei voi käyttää Xamarinia verkkopohjaiseen käyttöönottoon.
Xamarinin tilastot
Xamarinin tilastot ovat yleisesti ottaen hyvät.
Xamarin- kehittäjien palkat vaihtelevat hieman tehtävästä riippuen. Vanhemman ohjelmistoinsinöörin vuosipalkka on 120 885 dollaria, kun taas ohjelmistosuunnittelijan vuosipalkka on 126 942 dollaria.
Lisäksi full-stack- kehittäjän vuosipalkka on keskimäärin 101 929 dollaria, ja näemme merkittävämmän piikin mobiilikehittäjäasemassa, jossa palkka on 123 831 dollarilla vuodessa.
Stack Overflow 2021:n kyselyssä Xamarinin suosio työkaluna on 4,17 %, ja 43,32 % mieluummin työskentelee sen kanssa, kun taas 56,68 % enimmäkseen välttää sen käyttöä.
Näemme, että prosenttiosuudet vaihtelevat, mutta eivät merkittävästi.
Suosittuja tuotemerkkejä, jotka perustuvat Xamarinin käyttöön
Tässä on joitain monista tuotemerkkejä, jotka käyttävät Xamarinia:
- Storyo Video Story Creator
- Captio: Matka- ja kuluhallinta
- Pinterest: Virtual discovery engine corkboard
- Fox Sports
- Siemens
- Maailmanpankki: Survey Conducting App
- Just Giving: Online Fundraising Platform
- Insightly: CRM ja projektinhallinta
- Olo: Ruoan verkkotilausalusta
- Skulls of the Shogun: Pelisovellus
- FreshDirect: Online Food Grocer
- APX: Environmental Asset Tracker
- SuperGiant Games: Konsolipeli mobiililaitteille
- Thermo Fisher Scientific: Tutkimus ja kehitys
Xamarin- kehittäjän haastattelu
Hyödyllisiä vinkkejä seulontahaastatteluun
Osaajien hankinnan asiantuntija keskittyy Xamarinin kehittäjän haastattelussa useisiin avaintekijöihin ja oleellisiin asioihin. He kysyvät erityisiä kysymyksiä arvioidakseen kehittäjän kokemusta ja asiantuntemusta muutamien asioiden kautta.
Sen lisäksi, että he kysyvät vuosien kokemuksesta ja päivittäisestä työstä Xamarinin kanssa, he keskittyvät myös englannin kielen taitoon ja pehmeisiin taitoihin koko haastatteluprosessin ajan. Tämä takaa kehittäjän yhteistyökyvyn ja reagointikyvyn ja vahvistaa, että heillä tulee olemaan esteetön suhde asiakkaiden kanssa.
Xamarin- kehittäjän tekniset taidot
Kokeneella Xamarin- kehittäjällä on oltava kokemusta:
- Työskentelystä C# Xamarinin kanssa iOS- ja Android- sovelluksissa
- .NET: stä ja XAML: sta
- Olio- ohjelmoinnista
- Sovelluksien rakentamisesta tyhjästä ja niiden ylläpidosta
- Sovellusvirheiden ratkaisemisesta
- MVC- ja MVVM-suunnittelumallien ymmärtämisestä
- Kokemusta SQL:stä, ilmoituksista, mainoksista ja Firebasesta
- Kokemusta Microsoft Visual Studiosta ja Xamarin Studiosta
Xamarin- kehittäjän ei- tekniset taidot
Rekrytoijat ja lahjakkuuksien hankinnan asiantuntijat menevät päällekkäin vastauksissaan, kun heiltä kysytään Xamarinin kehittäjän ei- teknisiä taitoja.
Hyväksytty normi on, että kehittäjällä on huomattava ja keskimääräistä parempi englannin kielen taito, koska tämä on ratkaisevaa esteettömälle asiakas- kehittäjäviestinnälle. Näkyvä kommunikatiivisuus ja avoimuus keskustella työtehtävästä ja portfoliosta ovat suureksi hyödyksi koko haastatteluprosessin ajan.
Xamarin haastattelukysymykset, jotka on otettava huomioon
Seuraavat kysymykset ovat vain muutamia niistä lukuisista kysymyksistä, joita on hyvä pohtia arvioitaessa Xamarin- kehittäjän taitoja ja asiantuntemusta haastattelun aikana. Tiedustele seuraavia:
- Mitä ohjelmointikieliä Xamarin tukee?
Odotettu vastaus: Kun rakennamme mobiilisovelluksia, voimme Xamarinilla valita C#: n, mutta myös Visual Basic.NETin ja myös F#: n.
- Määrittele Xamarin Profiler.
Odotettu vastaus: Xamarin Profiler on käytännöllinen työkalusovelluksen ja sen toiminnan analysointiin. Tämän työkalun on luonut ja julkaissut Microsoft. Tämä työkalu ei vain analysoi sovelluksen yleistä suorituskykyä, vaan myös analysoi sovelluksen muistin varauksia. Xamarin Profiler tekee kaikki edellä mainitut Visual Studion kautta, mikä edustaa siistiä ja käytännöllistä käyttöliittymää grafiikan käsittelyyn ja sovellusten rakentamiseen. Tehdäksemme tämän, meidän on oltava Visual Studiossa.
Kun käytämme Profileria, saamme monia etuja, kuten missä meidän pitäisi hävittää tarpeettomat muistivuodot tiettyjen objektien sisällä.
- Mitä voit sanoa Xamarin Insightsista?
Odotettu vastaus: Xamarin Insights -työkalun avulla voimme tarkasti seurata ja paikantaa/ tunnistaa sovelluksen tapahtumia, tilastoja, viallisia kuvioita ja ongelmia. Joitakin asioita, joita havaitsemme tässä tapauksessa, ovat sivujen näyttökerrat, toimintojen pituus, sekä painikkeiden kosketusongelmat. Kaikki tämä tapahtuu reaaliajassa, ja saamme pääsyn, sekä menneisiin, että nykyisiin istuntoihin. Lisäksi saamme perusteellisen käsityksen kaikista sovelluksen ominaisuuksista, joita käytetään ja joita ei käytetä.
- Voitko määritellä "tietojen sidonnan" Xamarinissa?
Odotettu vastaus: Ratkaisevana osana MVVM (ModelView-ViewModel) -sovellusarkkitehtuuria yhdistämme tai linkitämme kahden erillisen objektin ominaisuuksia "tietojen sitomisprosessin" avulla. Tämän prosessin lopussa huomaamme, kuinka yksi ominaisuus heijastaa toisen ominaisuuden muutoksia.
Toisin sanoen yhdistämme sovelluksen käyttöliittymän sen näytettäviin sovellustietoihin. Yhteys on lähteen ja kohteen välillä. Xamarin.Formsin avulla voimme selvittää, mitkä ominaisuudet tarkasti voimme sitoa (mitkä ovat sitovia).
- Pystytkö erottamaan Xamarinin ja Xamarin.Formsin?
Odotettu vastaus: Xamarin edustaa alustaa, eli työkalua kehittää myös avoimen lähdekoodin sovelluksia. Xamarinin avulla voimme luoda sovelluksia Androidille, iOS: lle ja Windowsille käyttämällä .NET: iä (avoimen lähdekoodin alusta sovellusten rakentamiseen). Xamarinin avulla kehittäjät voivat helposti jakaa lähes kaiken sovellussisältönsä useammille alustoille, ja jopa käyttää vain yhtä kieltä liiketoimintalogiikan kirjoittamiseen. Voimme kirjoittaa sovellukset Macille tai PC: lle, ja seuraava vaihe on niiden kääntäminen alkuperäisiin sovelluspaketteihin (nämä ovat .ipa iOS: lle ja .apk Androidille).
Xamarin.Forms on avoimen lähdekoodin käyttöliittymäkehys, joka on monikäyttöinen, ja jota käytetään sovellusten kehittämiseen vain yhdestä jaetusta koodikannasta. Kun kehittäjät käyttävät Xamarin.Formsia, sijoitamme koodin aivan C#: n taakse ja käytämme XAML: ää (Extensible Application Markup Language) käyttöliittymiin. Se sopii erinomaisesti koodin testaamiseen ja jakamiseen, sekä liiketoimintalogiikan jakamiseen useammille alustoille. Se on myös hyvä suunnitteluun ja käyttöliittymän asettelun jakamiseen alustoilla.
- Mikä on XAML?
Odotettu vastaus: XAML (Extensible Application Markup Language) edustaa merkintäkieltä, joka on deklaratiivinen, uskomattoman hyödyllinen GUI (Graphical User Interface) -kuvauksessa, ja se näyttää meille välittömästi objektin ilmentymisen ja suorituksen. XAML: ää käytetään myös laajalti sovellusten käyttöliittymien luomiseen.
XAML: n avulla voimme tehdä visuaalia käyttöliittymäkomponentteihin, eikä se ole liian samanlainen kuin muut kielet merkintäkäyttöön. Useat osapuolet voivat työskennellä eri työkaluilla samanaikaisesti käyttöliittymässä ja sovelluslogiikassa. XAML mahdollistaa käyttöliittymämäärittelyn Xamarin- sovellusten kehittämisen aikana, eikä sen käyttö ole pakollista esimerkiksi Xamarin.Formsin kanssa.
XAML toimii sovellusarkkitehtuurin kanssa MVVM (ModelView-ViewModel).
- Kehitä Xamarin Live Playeria.
Odotettu vastaus: Jos haluamme tehdä sovellukseen reaaliaikaisia muutoksia, jotka eivät vaadi käyttöönottokaapelia tai emulaattoria, ja jotta muutokset näkyvät livenä, käytämme Xamarin Live Player -nimistä työkalua. Sen avulla virheenkorjaus ja testaus ovat myös käytännöllisempiä ja yksinkertaisempia, ja hienoa on, että meidän ei tarvitse työskennellä fyysisen laitteen kanssa koko prosessin aikana.
Kun laitteeseen asennetaan pienikokoinen sovellus, kehityskoneen ja sen koneen sisällä olevan Visual Studio IDE:n (Integrated Development Environment) välille luodaan yhteys kehitystä varten.
Yhteenvetona voimme todeta, että me kehittäjät voimme nopeasti ottaa sovelluksia käyttöön Android- ja iOS-laitteisiin, kun käytämme Xamarin Live Playeria.
- Kuvaile ListView ja TableView.
Odotettu vastaus: ListView ja TableView ovat ohjaimia Xamarin.Formsissa.
ListView-näkymää käytetään monin eri tavoin vain, jos meillä on luetteloita tiedoista, jotka ovat vieritettävät, ja tämä luokka tarjoaa tuen tiedon sitomiseen sekä kontekstitoimintoihin. Toisaalta ListView ei tue XAML-kohteiden määrittelyä. On parasta, kun käytämme ListView'ta kaikille kokoelmille, jotka ovat vain yhden tyyppisiä tietoja. ListView näyttää tiedot pystysuunnassa pinottuina.
TableView'ta käytetään vaakasuunnassa vieritettävien tietoluetteloiden katseluun, ja tämä koskee niitä rivien osia, joissa on eri mallit, ei jaettua mallia. ListViewhun verrattuna päättelemme, että TableView vaatii kohteiden manuaalisen lisäämisen, mutta ListView ei vaadi tätä ItemSource-konseptin vuoksi.
- Voitko selittää lisää Xamarinin käskystä "i"?
Odotettu vastaus: Jos haluamme jakaa ViewModels- mallit onnistuneesti Xamarin.Forms-sovellusten ja Window- sovellusten välillä, käytämme iCommandia, joka on toteutettu Window-luokan kautta.
iCommand- käyttöliittymä on linkki BusinessLogic- kerroksen ja esityksen välillä. Yritetään selittää prosessiesimerkin avulla.
Jos emme käytä MVVM: ää sovelluksen kirjoittamisen aikana, tarvitsemme tapahtumakäsittelijän tilauksen, jolloin meidän on helpotettava käyttöliittymän hallintaa käyttäjän vuorovaikutuksella (jopa niinkin yksinkertainen asia kuin käyttäjän napsautus). Tämä tekee uuden luomismenetelmän (C#: ssa), ja kun nostamme tapahtuman, luodun menetelmän koodi suoritetaan onnistuneesti. Tällä vahvistamme sääntelyä ja View- korrelaatiota. Yleinen lähestymistapa käyttää ainutlaatuisia objekteja (komentoja), jotka käyttävät iCommand- käyttöliittymää.
- Mitä " outofmemoryexception" tarkoittaa? Miten hoitaisit tämän?
Odotettu vastaus: "outofmemoryexception" edustaa virhettä, jonka saatamme havaita kehitysprosessissa. Tämä bugi kertoo meille, että vierekkäistä muistia ei ole tarpeeksi kaikille niille varauksille, joita C# vaatii, ja myös, että muistia ei yleensä ole riittävästi.
Optimaalinen ratkaisu on pinon koon kasvattaminen, eli objektien käytettävän muistin lisääminen.
Jotkut vaiheet, joita voit kokeilla ratkaistaksesi tämän, on ensin mennä Visual Studioon ja avata se. Etsi sitten Android- projekti ja napsauta sitä hiiren kakkospainikkeella. Sen jälkeen näet ja valitset Ominaisuudet, ja lopuksi siellä voit suurentaa pinon kokoa, esimerkiksi 1G pinon lisäys.
Xamarin- kehittäjän perustiedot ja arviointi
Kun alat etsiä parasta Xamarin- kehittäjää, sinun on otettava huomioon joitain olennaisia asioita:
- Vahvistettu tieto alustojen välisestä kehityksestä
- Visual Studion ja C#:n asiantuntemus
- Hyvä ymmärrys MVVM:stä (Model-View-View-Model)
- Koodin uudelleenkäytettävyyden asiantuntemus
- Tietoa Android- arkkitehtuurista
- IoC- konseptien asiantuntemus
- Tietoa riippuvuusinjektioista
Kysyimme vanhemmalta ohjelmistokehittäjältä Koray Biçeriltä, mitä Xamarin- kehittäjällä on oltava ja kuinka heitä arvioidaan:
”On tärkeää kysyä mahdolliselta ehdokkaalta MVVM-, XAML-, Views-, Page Layouts-, Master-Detail Page- ja REST- palveluiden tietojen noutamisesta. Toinen tapa arvioida asiantuntemusta on pyytää kehittäjää kirjoittamaan pieni esimerkkisovellus, joka hakee tiedot etäsovellusliittymästä ja näyttää sen.
Koray Biçer
Myös mobiilisovellusten kehittäjä Kerem Özcan sanoi:
”Kehittäjällä tulee olla hyvä asiantuntemus OOP: sta, .NET: stä, C#: sta, UX: stä ja sovellusten elinkaaresta. Lisäksi meidän on kysyttävä kokemuksia Azuresta, käyttöliittymätestauksesta ja App Centeristä arvioidaksemme taitoja. Mutta lopuksi haluan myös tarkastella ehdokkaan GitHub- tiliä saadakseni lisätietoja aiemmista kokemuksista ja projekteista.”
Kerem Özcan
Mikä erottaa loistavan Xamarin- kehittäjän hyvästä?
Loistava Xamarin-kehittäjä erottuu hyvästä tai keskimääräisestä Xamarin Formsin ja Xamarin Nativen tietämyksen ja kehityksen ansiosta. Tietenkin lisäpisteitä tuo myös aiempi kokemus Java-, Kotlin-, Swift- ja C#-ohjelmien parista.
Muita erinomaisen Xamarin- kehittäjän merkittäviä etuja ovat kokemus GraphQL: stä ja REST: stä, API: t, lambda- lausekkeet, LINQ sekä asynkroninen ja reaktiivinen ohjelmointi.
Mahdolliset haasteet Xamarin- kehittäjän palkkaamisen aikana
Yleensä kehittäjällä on oltava huomattava kokemus työskennelläkseen Xamarinin kanssa tämän alustan yksinkertaisuustekijöistä huolimatta.
Xamarin ei käytä JavaScriptiä suoraan ja käyttää C#: a muuten samoihin JavaScript- segmentteihin. Tämä ei ole iso haaste, mutta kehittäjä tarvitsisi hyvää asiantuntemusta ja välttyisi tästä johtuvilta myöhemmiltä koko arkiston komplikaatioilta.
Mahdollinen haaste on, että kehittäjältä saattaa puuttua joitain tiedostoja ja tietoja Xamarinin käyttöönottoprosessia varten. Tämä alusta ei ole vanha, koska se julkaistiin vuonna 2011, sen voidaan sanoa olevan jokseenkin uusi. Tästä johtuen, jos kehittäjä tarvitsee nopeita ratkaisuja ongelmiin, hänen on tultava laajaan yhteisöön konsultoidakseen muita asiantuntijoita.
Kuten yllä olevista osioista näkyy, Xamarin on suosittu rajoitetun kehittäjä määrän keskuudessa, mikä tekee sen kysynnästä arvokkaampaa.
Miksi ja milloin on palkattava Xamarin- kehittäjä?
Sinun on palkattava Xamarin- kehittäjä, jos olet valmis viemään projektisi uudelle tasolle. Nimittäin Xamarinin käyttö on tarkoitettu niille, joiden on jaettava koodia ja testattava sitä eri alustoilla. Ei vain sitä, vaan myös monialustaisten sovellusten kirjoittamista Visual Studiolla ja C#: lla.
Jos haluat kehittää useamman kuin yhden sovelluksen, sinun on palkattava yksi kehittäjä jokaiseen käyttöjärjestelmiä käsittelevään tiimiin. Tai toinen vaihtoehto on palkata muutama sovellusten rakentamiseen erikoistunut kehittäjä kerralla useille käyttöjärjestelmille.
Yhteenvetona voidaan todeta, että sinun on käytettävä Xamarinia projektiisi tai palkattava Xamarin- kehittäjä, jos tarvitset mobiilisovellusten rakentamista yksinkertaisella, tehokkaalla tavalla jaettujen koodikantojen avulla. Sen avulla saat erinomaisen tuloksen käyttöliittymäelementeistä, jotka ovat alustakohtaisia.
Xamarinin edut
Xamarin on yhtä ainutlaatuinen, kuin sillä on kysyntääkin, mikä tekee kaikista siihen liittyvistä tekijöistä entistä kiehtovampia. Tämä johtuu pääasiassa siitä, että Xamarin mahdollistaa nopean ja tehokkaan yhden kielen käytön (C#) sovelluksen koodaamiseen.
Toinen sen merkittävä etu on, että se tarjoaa rikkaan kirjaston. Lisää erinomainen ajonaikainen ympäristö, ja Xamarin näyttää olevan vieläkin houkuttelevampi kehittäjien työssä.
Kun kehittäjät alkavat käyttää Xamarinia, he tarvitsevat vain yhden koneen, joka kattaa kaikki käytetyt ympäristöt.
Mitä tulee resurssien ja rahoituksen säästämiseen, Xamarin pyrkii tähän helpon ylläpidon ja koodin jakamisen avulla. Esimerkiksi eri alustojen natiivikäyttö käyttää vähemmän muistia, vähemmän suoritinaikaa, toimii nopeammin ja lataa enemmän jättimäisiä tietojoukkoja kuin hybridi- HTML.
Lisäksi toinen Xamarinin etu on sujuva Azure Cloud -integraatio. Tämä tarjoaa vakaan ja uskomattoman turvallisen mobiilitaustapilven–muutama yksinkertainen koodirivi ja siinä kaikki.
Tämän alustan käyttö mahdollistaa seuraavat:
- Sovellusten kirjoittamisen C#- kielellä
- Alkuperäisten käyttöliittymien rakentamisen
- MVVM- suunnittelukuvioiden hyödyntämisen
- Hyvän API- integraation
- Jaetun koodikannan
- Nopean kehityksen
- Ei ongelmia laitteiston yhteensopivuuden kanssa
- Toimii hyvin myös puettavissa tekniikoissa, ei vain joissain älylaitteissa
- Monikäyttöisen sovelluskehityksen
- Alhaiset ylläpitokustannukset
- Käyttäjien yhteisön, joka kasvaa ajan myötä
Kehittäjät, jotka haluavat työskennellä Xamarinin kanssa, pitävät siitä useista syistä. Yksi ilmeinen syy on C#: n käyttö, joka tekee prosessista nopean ja helpon. Joten sen sijaan, että luottaisit Objective- C: hen, Swiftiin tai Javaan ilman liikkumavaraa, kaikki voidaan suorittaa C#: lla. Biçer sanoi edelleen:
"Pidän siitä, että voin kehittää kaiken koodin yhdellä kielellä, kuten C#. Voin myös kehittää käyttöliittymän vain kerran ja käyttää sitä kaikilla alustoilla. Koodin jakaminen on erittäin helppoa alustojen välillä, ja tarvitsen vähemmän aikaa sovellusten ylläpitoon.”
Lisäksi kun kehittäjä käyttää Xamarin.Formsia, he säästävät aikaa julkaisemalla sovelluksia eri myymälöissä samanaikaisesti.
Toinen suuri syy siihen, miksi kehittäjät suosivat Xamarinia, on se, että lopullinen käyttöliittymä osoittautuu täsmälleen odotetusti–realistinen, sileä ja miellyttävä käyttää.