Maybaygiare.org

Blog Network

dobre i złe Xamarin Mobile Development

spis treści

czas czytania: 16 minut

rozważając tworzenie aplikacji na iOS lub Androida, większość z nas myśli przede wszystkim o Objective-C vs Swift, a przede wszystkim o Javie. Są uważane za natywne stosy technologiczne, są naturalnie najczęściej używanymi mobilnymi narzędziami programistycznymi, jeśli chodzi o tworzenie aplikacji na iOS i Androida. Istnieje jednak więcej sposobów na tworzenie wydajnych i przyjaznych dla użytkownika aplikacji mobilnych. A Xamarin jest jednym z nich. W tym artykule przeprowadzamy dogłębną recenzję Xamarin i porównujemy ją z natywnymi i wieloplatformowymi rozwiązaniami programistycznymi na rynku. Jeśli znasz podstawy, rozważ pominięcie sekcji, które Cię interesują.

Co To jest Xamarin?

nie można zignorować Xamarin, gdy mówimy o kluczowych podejściach do tworzenia aplikacji mobilnych. Xamarin to narzędzie używane do tworzenia aplikacji mobilnych na różnych platformach, które pozwala inżynierom udostępniać do 90 procent kodu na głównych platformach. Jest stosunkowo nowym narzędziem, opartym na stosie technologii Microsoft i ma już społeczność ponad 1,4 miliona programistów.

platforma została zbudowana przez programistów za Mono, platformę programistyczną open source opartą na.Net Framework, kierowaną przez Miguela de Icaza i po raz pierwszy wprowadzoną w 2001 roku. Firma Xamarin została założona 16 maja 2011 roku.

jednak, w przeciwieństwie do swojego poprzednika, Xamarin był tworzony jako projekt komercyjny, dopóki firma nie została przejęta przez Microsoft w 2016 roku. Xamarin stał się popularnym wieloplatformowym produktem do tworzenia aplikacji mobilnych w ekosystemie Microsoft. Przejęcie to przełamało barierę finansową dla korzystania z Xamarin. Ponieważ Microsoft stworzył Xamarin SDK open-source, stał się on częścią zintegrowanego środowiska programistycznego Xamarin Visual Studio (poniżej omówimy najlepsze IDE do wykorzystania w rozwoju Xamarin). Jakie są główne cechy Xamarin?

język C#. Xamarin używa jednego języka, C#, do tworzenia aplikacji na wszystkie platformy mobilne. W przeciwieństwie do zinterpretowanych rozwiązań, takich jak Appcelerator Titanium, Xamarin jest natywnie kompilowany, co sprawia, że jest to opcja do budowania wysokowydajnych aplikacji o natywnym wyglądzie i stylu.

W Oparciu O. NET framework. C# jest dojrzałym językiem z silnym bezpieczeństwem pisania, który zapobiega nieoczekiwanemu zachowaniu kodu. Ponieważ C# jest jednym z języków. NET framework, może być używany z wieloma użytecznymi funkcjami. NET, takimi jak Lambda, LINQ i programowanie asynchroniczne (async/await).

technicznie rzecz biorąc, Xamarin używa C# i natywnych bibliotek .Warstwa sieciowa do tworzenia aplikacji wieloplatformowych. Takie aplikacje są często porównywane do natywnych dla platform mobilnych iOS i Android pod względem wydajności i doświadczenia użytkownika. Ponadto Xamarin może wykorzystać wszystkie natywne i najnowsze API, aby wykorzystać podstawowe możliwości platformy w aplikacjach Xamarin, takich jak ARKit na iOS lub Android Multi-Window.

Platforma Xamarin

chociaż kod związany z logiką biznesową, dostępem do baz danych i komunikacją sieciową może być współdzielony na wszystkich platformach, Xamarin umożliwia utworzenie warstwy kodu interfejsu użytkownika specyficznej dla danej platformy. Dzięki temu aplikacje Xamarin na różnych platformach wyglądają w 100% natywnie na każdym urządzeniu, zapewniając lepsze wrażenia użytkownika w porównaniu do standardowych aplikacji hybrydowych.

Kompilacja. Platforma ma dwa główne produkty: Xamarin.iOS i Xamarin.Android. W przypadku iOS kod źródłowy jest kompilowany bezpośrednio do natywnego kodu asemblacji ARM (kompilacja przed czasem), podczas gdy Aplikacje Android Xamarin są najpierw kompilowane do języka pośredniego, a następnie do natywnego kodu asemblacji w czasie wykonywania (kompilacja Just-in-Time). Jednak w obu przypadkach proces jest zautomatyzowany i dostosowany do takich problemów, jak alokacja pamięci, usuwanie śmieci i domyślnie interoperacyjność platformy.

Xamarin.Formularze. Xamarin.Formularze to oddzielny produkt przeznaczony do tworzenia prototypów lub aplikacji mobilnych udostępniających do 100 procent kodu w systemach iOS i Android.

Xamarin.Mac. Dodatkowo inżynierowie mogą używać Xamarin.Mac do tworzenia aplikacji dla Mac OS. Te i inne produkty ze stosu Xamarin zostaną omówione za chwilę.

Platformy SDK. Xamarin zapewnia dostęp do zestawów SDK specyficznych dla platformy (Cocoa Touch dla iOS i Android SDK) poprzez prostą składnię C#.

wiązania kodu specyficzne dla platformy. W większości przypadków inżynierowie będą w stanie poradzić sobie z rozwojem, zachowując natywny wygląd poszczególnych platform w środowisku Xamarin. Swift dla iOS), jeśli musisz ponownie użyć niektórych modułów lub zrealizować pewne funkcje specyficzne dla platformy, takie jak skanowanie kodów kreskowych, integracja z PayPal lub Google Analytics.

Obsługa urządzeń do noszenia. Xamarin obsługuje tworzenie aplikacji dla urządzeń Apple i Android Watch. Inżynierowie mogą używać Visual Studio zarówno dla komputerów Mac, jak i Windows do tworzenia aplikacji Apple Watch na iOS. Ponadto Xamarin w pełni obsługuje Android Wear.

struktura projektu Xamarin. Oczekuje się, że większość prac związanych z Xamarin będzie uruchamiana przez komputer programistyczny Windows z zainstalowanym Visual Studio i Xamarin. Aplikacje można debugować bezpośrednio z pulpitu lub na urządzeniach i emulatorach. Jeśli planujesz tworzyć aplikacje na iOS w systemie Windows, jest to również możliwe, ponieważ Visual Studio łączy się z iOS storyboard designer i iOS simulator. Istnieje również Visual Studio dla komputerów Mac, które pozwala na uruchomienie symulatora na komputerze Mac lub bezpośrednio na uwięzi iPhone. Debugowanie odbywa się za pośrednictwem Visual Studio.

Xamarin project structure

Xamarin project structure. Image source: Developer Support Blog

To get a more in-depth understanding of Xamarin engineering aspects consider checking these resources:

Main Xamarin Documentation Hub

Xamarin.Android Documentation

Xamarin.iOS Documentation

Xamarin.Formularze dokumentacja

Visual Studio for Xamarin

Xamarin Studio App Center

forum społeczności Xamarin

jak każda inna technologia, Xamarin ma swoje zalety i wady, które były ostatnio przedmiotem gorącej dyskusji. Aby podjąć świadomą decyzję o Xamarin vs natywnym rozwoju, rozważmy wszystkie plusy i minusy tworzenia aplikacji z Xamarin. Jeśli naprawdę brakuje Ci czasu, zalecamy obejrzenie tego filmu, który w mniej niż 6 minut przedstawi mocne i słabe strony platformy Xamarin.

Jeśli chcesz przejść do szczegółów, Czytaj dalej.

zalety używania Xamarin do rozwoju

istnieją dobre powody, dla których Xamarin jest używany przez wiele firm, w tym Trello, Slack i GitHub.

⊕ jeden stos technologii do kodowania dla wszystkich platform

Xamarin używa C# uzupełnionego o.net framework do tworzenia aplikacji dla dowolnej platformy mobilnej. W ten sposób można udostępniać średnio 80-90 procent kodu na różnych platformach, przyspieszając cykl inżynierii. Xamarin nie wymaga również przełączania się między środowiskami programistycznymi: możesz zbudować wszystkie swoje aplikacje Xamarin w Visual Studio lub Visual Studio Code. Wieloplatformowe narzędzia programistyczne są dostarczane jako wbudowana część IDE bez dodatkowych kosztów.

Performance wydajność zbliżona do natywnej

w przeciwieństwie do tradycyjnych rozwiązań hybrydowych opartych na technologiach internetowych, wieloplatformowa aplikacja zbudowana z Xamarin nadal może być klasyfikowana jako natywna. W miarę rozwoju platformy wydajność Xamarin jest stale ulepszana, aby w pełni odpowiadać standardom rodzimego rozwoju, a Microsoft udziela porad na temat technik optymalizacji. Visual Studio oferuje również kompletne rozwiązanie do budowania, testowania i śledzenia wydajności aplikacji: Visual Studio App Center umożliwia uruchamianie zautomatyzowanych testów interfejsu użytkownika i identyfikowanie problemów przed wydaniem. Usługa ta jest jednak świadczona za dodatkową opłatą.

wcześniej przetestowaliśmy i porównaliśmy wydajność Xamarin i natywnych aplikacji. Wyniki mogą być nieco przestarzałe; jednak wyraźnie pokazują przyzwoity poziom wydajności aplikacji Xamarin.

⊕ natywne doświadczenia użytkowników

Xamarin pozwala tworzyć bezbłędne doświadczenia przy użyciu elementów interfejsu użytkownika specyficznych dla platformy. Możliwe jest również tworzenie wieloplatformowych aplikacji dla systemów iOS, Android lub Windows przy użyciu Xamarin.Narzędzie formularze, które konwertuje komponenty interfejsu aplikacji na elementy interfejsu specyficzne dla platformy w czasie wykonywania. Jako zastosowanie Xamarin.Formularze znacznie zwiększają szybkość tworzenia aplikacji, jest to świetna opcja dla projektów biznesowych. Jednak może wystąpić niewielki spadek wydajności z powodu dodatkowej warstwy abstrakcji. W przypadku niestandardowego interfejsu aplikacji i wyższej wydajności nadal możesz używać Xamarin.iOS i Xamarin.Android oddzielnie, aby zapewnić doskonałe wyniki.

tradycyjnie Xamarin nie jest uważany za najlepszą opcję dla aplikacji z ciężką grafiką. Mimo to istnieje wiele bibliotek, takich jak OpenGL ES i frameworki, takie jak SkiaSharp i Urho, które umożliwiają tworzenie aplikacji z bogatym niestandardowym interfejsem użytkownika, złożonymi animacjami lub grami nawet w Xamarin.

Full Pełne wsparcie sprzętowe

dzięki Xamarin Twoje rozwiązanie uzyskuje natywną funkcjonalność aplikacji. Eliminuje wszystkie problemy ze zgodnością sprzętową, używając wtyczek i określonych interfejsów API, aby współpracować ze wspólnymi funkcjami urządzeń na różnych platformach. Oprócz dostępu do interfejsów API specyficznych dla platformy, Xamarin obsługuje łączenie z natywnymi bibliotekami. Pozwala to na lepsze dostosowywanie i natywną funkcjonalność przy niewielkim obciążeniu.

Technology Technologia Open Source z silnym wsparciem korporacyjnym

Po przejęciu firmy przez Microsoft w lutym 2016 r.Polityka licencjonowania Xamarin Uległa radykalnym zmianom. Xamarin SDK, w tym środowisko wykonawcze, biblioteki i narzędzia wiersza poleceń, stał się open source i Dostępny dla wszystkich na licencji MIT jako część Visual Studio. Poprzez wyeliminowanie głównej bariery, koszt licencji, Microsoft utorował drogę do dalszego rozwoju platformy. Plus, kierowane przez Microsoft, i wspierane przez Unity, JetBrains, i Red Hat,.Net Foundation w ogóle, a Xamarin w szczególności stał się niezawodnym i potężnym stosem technologii.

Simplified uproszczona Konserwacja

dzięki wieloplatformowej aplikacji Xamarin ułatwia konserwację i aktualizacje. Możesz po prostu wdrożyć zmiany lub aktualizacje w pliku źródłowym i będą one stosowane zarówno w aplikacjach na iOS, jak i Android. W ten sposób pomaga zaoszczędzić czas i pieniądze, jednocześnie aktualizując aplikacje.

Complete kompletny ekosystem programistyczny

Xamarin jest dostarczany w jednym pakiecie z kompletnym zestawem narzędzi programistycznych, w tym własnym IDE. W kwietniu 2018 r. wiele narzędzi programistycznych Xamarin, wcześniej znanych jako oddzielne funkcje, stało się częścią Visual Studio App Center. Zawiera samą platformę (Xamarin SDK), testing (dawniej Xamarin Test Cloud), distribution i analytics (dawniej Xamarin.Insights) platformy i wiele innych. Ponieważ zestaw narzędzi pozostaje bezpłatny, nie trzeba inwestować w dodatkowe narzędzia ani integrować aplikacji innych firm, aby tworzyć, testować i wdrażać aplikacje Xamarin.

Xamarin.Formularze: framework do tworzenia natywnych układów UI

Xamarin sugeruje programistom tworzenie aplikacji mobilnych na dwa sposoby. Pierwszym z nich jest użycie Xamarin.iOS i Xamarin.Android, który pojawił się wcześniej i pierwotnie były uważane za bardziej zdolne. Stosowanie Xamarin.Formy to drugie podejście. Jest to bardziej zaawansowana wersja, która pozwala na szybkie prototypowanie lub tworzenie aplikacji o mniej specyficznych funkcjach platformy. Dlatego Xamarin.Formularze najlepiej nadają się do aplikacji, w których udostępnianie kodu jest ważniejsze niż niestandardowy interfejs użytkownika. Pozwoli to na ponowne wykorzystanie do 99% kodu, co oznacza, że będziesz w stanie stworzyć pojedynczy interfejs i udostępnić go na różnych platformach bez projektowania dla każdej platformy indywidualnie. Możesz także budować aplikacje, w których niektóre części ich interfejsów użytkownika są wykonane za pomocą Xamarin.Formularze i pozostałe są projektowane przy użyciu natywnego zestawu narzędzi UI.

jako Xamarin.Formy rozwijane przez lata, stały się uniwersalnym narzędziem i zyskały żywą społeczność, która zwraca na to uwagę. Na przykład niektórzy dostawcy technologii dostarczają swoje biblioteki, takie jak Telerik UI, które wzbogacają możliwości inżynieryjne, zapewniając wstępnie skonfigurowane komponenty interfejsu użytkownika.

Xamarin.Tworzy XAML Hot Reload

jako Xamarin.Forms ma na celu szybki i bezproblemowy rozwój, Microsoft sugeruje użycie narzędzia XAML Hot Reload. Przyspiesza rozwój, pozwalając zmienić XAML podczas debugowania i natychmiast zobaczyć te zmiany w uruchomionej aplikacji, bez konieczności zatrzymywania i odbudowywania go. Co więcej, Stan nawigacji i dane zostaną zachowane, dzięki czemu można szybko iterować w interfejsie użytkownika. W ten sposób XAML Hot Reload pozwala na szybsze przebudowywanie i wdrażanie aplikacji w celu weryfikacji zmian w interfejsie użytkownika.

Building Tworzenie aplikacji dla komputerów Mac za pomocą Xamarin.Mac Tool

Xamarin.Mac pozwala na tworzenie w pełni natywnych aplikacji Mac za pomocą C# i. NET. integruje się z tymi samymi bibliotekami, które są używane do tworzenia w Objective-C z Xcode. Stosując Xamarin.Mac w połączeniu z Xamarinem.iOS i Xamarin.Android, Programiści mogą udostępniać do 90 procent kodu natywnego w systemach Android, iOS i Mac OS. Ponadto, Xamarin.Mac integruje się z Xcode, więc programista może użyć narzędzia Xcode Interface Builder do tworzenia interfejsów użytkownika aplikacji.

Microsoft Xamarin Learning Resources

Microsoft Learn to internetowy portal edukacyjny, który pomaga ludziom rozwijać umiejętności techniczne związane z produktami Microsoft, w tym Xamarin. Platforma zapewnia kursy zarówno dla początkujących, jak i doświadczonych inżynierów, umożliwiając uczniom przygotowanie się do certyfikatów Microsoft. Zasoby edukacyjne obejmują bezpłatną naukę z własnym przewodnikiem, zajęcia online na żywo, wykłady biurowe i wykłady gościnne.

⊕ Xamarin obsługa telewizorów, urządzeń wearables i IoT

framework Xamarin, dzięki Xamarin.Formularzy, umożliwia budowanie wersji przenośnych dla wielu platform. Oprócz telefonów z systemem iOS, Android, Windows i Mac możesz tworzyć aplikacje dla Tizen – systemu operacyjnego używanego na niektórych urządzeniach Samsung – dla urządzeń wearables, telewizorów i IoT. Poza tym, Xamarin.iOS pozwala na budowanie aplikacji dla tvOS Dla Apple i watchOS.

Xamarin minusy do rozważenia

jednak nadal istnieją pewne wady, które mogą rzucić cień na platformę. Dlaczego więc nie użyć Xamarin?

Wsparcie dla najnowszych aktualizacji platformy

To zależy całkowicie od zespołu programistów Xamarin. Nie jest możliwe, aby Narzędzia innych firm zapewniły natychmiastową obsługę najnowszych wersji iOS i Android, ponieważ wdrożenie zmian i/lub wprowadzenie nowych wtyczek zajmuje trochę czasu itp

Θ ograniczony dostęp do bibliotek Open Source

natywny rozwój szeroko wykorzystuje technologie open source. W przypadku Xamarin musisz korzystać z elementów dostarczanych przez platformę i niektórych zasobów open source. NET, zarówno dla programistów, jak i konsumentów. Chociaż wybór nie jest tak bogaty, jak w przypadku tworzenia aplikacji mobilnych na Androida i iOS, możesz użyć pakietów NuGet, które zawierają teraz wszystko, co było w wycofanych komponentach Xamarin.

chociaż Xamarin jest darmową platformą open-source dla indywidualnych programistów, framework może kosztować sporo grosza dla potrzeb przedsiębiorstw. Wydasz dużo na zakup licencji na Visual Studio. Na przykład Visual Studio Professional z podstawowym zestawem narzędzi programistycznych kosztuje 1199 USD za pierwszy rok i 799 USD za odnowienie. Jednocześnie Visual Studio Enterprise, które umożliwia eksperymentowanie z dodatkowymi narzędziami, będzie kosztować 5999 USD za pierwszy rok i 2569 USD za odnowienie. Funkcje dla obu omówimy poniżej.

Θ Xamarin talent Pool and Community Constraints

oczywiście społeczność Xamarin jest znacznie mniejsza niż społeczność natywnego iOS lub Androida. Jest także mniejsza od społeczności reakcyjnych i jonowych. Tak więc znalezienie doświadczonego programisty Xamarin może być wyzwaniem.

według badania Stack Overflow 2020 tylko 5.8 procent używało frameworku Xamarin od 2020 roku, w porównaniu do React Native 11,5 procent i Flutter 7,2 procent.

wykorzystanie Xamarin w porównaniu do innych frameworków. Źródło obrazu: Stack Overflow

pomimo faktu, że liczba inżynierów Xamarin nie jest porównywalna z natywnymi społecznościami iOS lub Android, platforma zapewnia szerokie wsparcie dla swoich programistów. Jak wspomniano powyżej, Microsoft Learn oferuje zasoby i praktyczne szkolenia dla tych, którzy są nowicjuszami w tej technologii. Korzystając z tego wsparcia, krzywa uczenia się doświadczonego inżyniera C#/. Net jest minimalna.

kolejnym problemem, z którym borykają się niektórzy programiści, jest fragmentacja i brak standardów w zasobach edukacyjnych i programistycznych, w tym w dokumentach. Wpływa to na jakość wsparcia, które otrzymasz.

podstawowa znajomość języków ojczystych

przy stosowaniu Xamarin.iOS i Xamarin.Android aby tworzyć aplikacje mobilne o prawdziwie natywnym wyglądzie, nadal będziesz musiał napisać warstwę kodu specyficzną dla platformy, korzystając z natywnych interfejsów API każdej platformy. Tak więc, nawet jeśli nie jest to obowiązkowe, jak to było kiedyś, pomocne byłoby posiadanie przynajmniej podstawowej wiedzy o natywnych technologiach (Java/Kotlin dla Androida i Objective-C/Swift dla iOS), aby móc zrozumieć i jak najlepiej wykorzystać dokumentację dotyczącą platformy. Także Xamarin.Biblioteka Essentials zapewnia wiele wieloplatformowych interfejsów API i może być używana do uzyskiwania dostępu do funkcji natywnych. Nie dotyczy to jednak Xamarinu.Formularze.

większy rozmiar aplikacji

w zależności od ich typu i złożoności, Aplikacje Xamarin są zazwyczaj większe niż natywne (te ostatnie mogą być o połowę mniejsze od aplikacji Xamarin). Prosta aplikacja „hello, world” dla Androida może zająć do 16 MB, z czego większość jest używana przez powiązane biblioteki, zawartość, środowisko wykonawcze Mono i biblioteki klas podstawowych (BCL).aplikacja Xamarin jest przeznaczona do obsługi aplikacji Xamarin, które są przeznaczone do obsługi aplikacji Xamarin. Źródło obrazu: developer.xamarin.com

tak więc Aplikacje Xamarin zwykle wymagają dodatkowej optymalizacji, takiej jak łączenie, aby usunąć NIEUŻYWANY KOD z dołączonych bibliotek i zachować rozsądny rozmiar pliku aplikacji.

ΘXamarin.Formularze wkrótce przestaną istnieć

w maju 2020 roku odbyła się doroczna konferencja Microsoft Build. Między innymi ogłoszono, że Xamarin.Forms połączy się z. NET i przekształci się w Nowy wieloplatformowy framework o nazwie. NET Multi-platform app UI lub MAUI. MAUI będzie miał cały natywny interfejs użytkownika i zapewni dostęp do wszystkich natywnych interfejsów API.

również w ramach stopniowegoUnifikacja sieci, Xamarin.Android i Xamarin.iOS ostatecznie stanie się częścią. Net 6 jako. NET dla iOS i. NET dla Androida i zostanie zaktualizowany, aby dopasować się do innych obciążeń. NET. Oś czasu dla tego nie jest jeszcze znana, więc bądźcie czujni na przyszłe aktualizacje.

tymczasem Xamarin.Migracja form powinna nastąpić w listopadzie 2021 roku. Po wydaniu MAUI, Xamarin będzie obsługiwany przez kolejne 12 miesięcy. Tak więc, jeśli w tej chwili pracujesz z Xamarin lub planujesz zbudować nowe aplikacje Xamarin, warto mieć oko na daty i szukać przewodników Microsoft dla płynnego przejścia.

Θ problemy ze zgodnością z bibliotekami i narzędziami innych firm

podczas integracji zasobów innych firm z aplikacją Xamarin mogą wystąpić pewne problemy. Chociaż większość narzędzi i bibliotek oferuje pełne wsparcie dla natywnych technologii, wsparcie dla Xamarin może nie być zapewnione przez dostawcę. Chociaż Xamarin ma własny sklep z komponentami, zawsze istnieje szansa, że będziesz potrzebował określonej funkcji lub integracji w aplikacji, która nie jest zapewniona przez platformę. Tak więc, aby wykorzystać inne pakiety innych firm, musisz użyć opakowań.

Xamarin Visual Studio IDE

Jeśli masz wrażenie, że Xamarin jest właśnie dla ciebie, będziesz zainteresowany poznaniem głównych IDE Xamarin, które mogą być używane i jak się ze sobą porównują.

Visual Studio (VS) to zintegrowane środowisko programistyczne firmy Microsoft lub IDE, oprogramowanie używane do tworzenia, debugowania i publikowania aplikacji na wszystkich platformach i urządzeniach. Istnieją trzy główne wersje Visual Studio dla Xamarin-Visual Studio Community, Visual Studio Professional i Visual Studio Enterprise. Kluczowymi czynnikami przy wyborze akceptowalnej wersji są doświadczenie programistów (studentów lub profesjonalnych inżynierów) i wielkość ich zespołu. Programiści mogą tworzyć oprogramowanie dla stron internetowych, urządzeń mobilnych, serwerów i komputerów stacjonarnych we wszystkich wersjach. Dowiedz się więcej o Visual Studio w naszym artykule na temat narzędzi używanych do tworzenia. NET.

najnowszą wersją jest Visual Studio 2019. W porównaniu z VS 2017, zawiera liczne ulepszenia, które przyspieszają tworzenie aplikacji, od współpracy w czasie rzeczywistym przy użyciu Visual Studio Live Share do nowego okna startowego Visual Studio. Ponadto obsługuje DPI na monitor i ulepszone możliwości debugowania.

obciążenie Xamarin jest teraz zmniejszone o około 3 razy w porównaniu z poprzednimi wersjami, co oznacza zmniejszenie z 23 GB do 7 GB. Drastycznie zmniejsza wpływ dysku i przyspiesza instalację. Dodatkowo nowe wydanie wprowadziło znaczne ulepszenia w zakresie zarządzania SDK dla Androida i emulatorami. Poczyniła również znaczne wysiłki w celu wzmocnienia tworzenia UI. Obejmuje to także Xamarin.Tworzy ulepszenia dzięki IntelliCode dla XAML, AXML-enhancements dla Androida, ulepszonej wysyłce Xamarin iOS i wielu innym funkcjom.

społeczność Visual Studio jest dobra dla studentów, projektów open-source, małych zespołów programistycznych z maksymalnie 5 użytkownikami. Pakiet Community jest również dobry dla zespołów, które są nowe w Visual Studio. Ta wersja jest darmowa do użytku.

Visual Studio Professional to zestaw narzędzi i usług stworzonych dla profesjonalnych programistów, małych zespołów i przedsiębiorstw. Ta wersja zapewnia zaawansowane funkcje do szybkiego zrozumienia kodu: wyświetlanie odniesień do kodu,zmian w kodzie, wyświetlanie kto ostatnio zmodyfikował metodę lub sprawdzanie, czy testy są zdane. Wersja professional zawiera Azure DevOps, który jest zbiorem funkcji, takich jak zwinne narzędzia do planowania i testowania projektów, potoki CI/CD, rozwiązania do raportowania i inne. Roczna cena dla tej wersji wynosi $ 1,199.

Visual Studio Enterprise ma silniejsze narzędzia i usługi wsparcia. Pozwalają one na zarządzanie bardziej złożonymi procesami między rozwojem a operacjami IT; śledzenie jakości za pomocą ręcznych i zautomatyzowanych narzędzi do testowania; uzyskanie dostępu do profesjonalnych szkoleń i całego ekosystemu inżynierii i testowania firmy Microsoft. Wersja Enterprise ma również priorytetowe wsparcie, oferty partnerów i wiele więcej. Roczna cena Enterprise Studio wynosi $5,999.

do użytku korporacyjnego zalecamy również sprawdzenie Visual Studio App Center. Jest to narzędzie, które organizuje proces tworzenia aplikacji w różnych technologiach mobilnych, w tym Xamarin. Tutaj zespoły inżynierów, które pracują nad wieloma aplikacjami, mogą połączyć swój zestaw narzędzi. Automatyzuje pakowanie aplikacji za pośrednictwem GitHub lub Bitbucket, zapewnia integrację dla różnych usług testowych, umożliwia dystrybucję aplikacji e-mail do testowania, śledzenie awarii i analitykę.

Visual Studio Code, czyli VS Code, jest najpopularniejszym środowiskiem programistycznym w 2019 roku, a 50,7 procent programistów zgłasza, że z niego korzysta. VS Code to darmowy, lekki edytor kodu open source, który zapewnia wszystkie główne narzędzia niezbędne do prostego cyklu edycji, budowania i debugowania kodu, ale nie ma możliwości w pełni funkcjonalnych IDE, które pozwalają na zarządzanie bardziej złożonymi przepływami pracy. Działa na komputerach Mac, Linux i Windows i obsługuje podstawowe operacje programistyczne, takie jak uruchamianie zadań, rozwiązywanie problemów i kontrola wersji. Posiada również IntelliSense dla rozwoju wspomaganego Sztuczną Inteligencją, współpracuje z GitHub i ma bogaty ekosystem rozszerzeń. VS Code jest szybki, prosty w użyciu, wysoce konfigurowalny i może być dobrym wyborem, jeśli potrzebujesz czegoś lekkiego, ale z dobrą funkcjonalnością

Visual Studio Online lub GitHub Cloudspaces to oparte na przeglądarce środowisko programistyczne, które obsługuje VS 2019 I VS Code. Jest teraz dostępny tylko w wersji beta i ma ograniczoną funkcjonalność

przełączanie z Android Studio lub Xcode na Visual Studio

Jeśli twój zespół programistów rozważa przejście z Android Studio (AS) lub Xcode do Visual Studio, krzywa uczenia się nie będzie tak stroma. Porównanie funkcji do funkcji pokazuje, że IDE są bardzo podobne pod względem przepływów rozwojowych z niewielkimi niuansami dla każdego ze środowisk.

z Android Studio do Visual Studio. Podczas gdy oficjalna Obsługa Android Studio koncentruje się na językach Java, C/C++, Kotlin i XML, VS obsługuje wszystkie główne języki programowania, w tym języki AS. Wynika to z szerokiego spektrum platform, dla których IDE obsługuje. VS zapewnia większą swobodę inżynierską i pozwala na pracę z różnymi projektami z jednego środowiska. Jeśli korzystasz z platformy Google Cloud zintegrowanej z AS do uruchamiania maszyn wirtualnych lub po prostu zarządzania projektami, Google jest na tyle uprzejmy, aby zapewnić rozszerzenie platformy chmurowej również dla VS. Zasadniczo możesz korzystać zarówno z ekosystemu Microsoft cloud, jak i Google Cloud bezpośrednio z VS. Visual Studio można zainstalować na wszystkich głównych platformach: Windows, Android, Mac OS i Linux.

od Xcode do Visual Studio. Xcode IDE, podobnie jak VS, obsługuje kod źródłowy dla wszystkich głównych języków programowania. Więc nie będzie niespodzianki po przejściu. Ponownie, jeśli byłeś związany z systemem Mac OS podczas korzystania z Xcode, sprzęt Apple nie jest potrzebny dla VS. dla tych, którzy używają CloudKit do przechowywania po stronie serwera, Visual Studio i Xamarin pozwalają na prostą integrację CloudKit. Główną wadą korzystania z VS w porównaniu do Xcode jest jego cena: zarówno Android Studio, jak i Xcode są bezpłatne, podczas gdy VS wymaga dość wysokiej opłaty abonamentowej.

według szacunków programistów, Visual Studio i Android Studio mają w większości taki sam poziom łatwości użycia i jakość wsparcia. Porównując te same indeksy z VS i Xcode, możemy powiedzieć, że szacunki VS są nieco lepsze. Ponadto Visual Studio jest bardziej popularne wśród przedsiębiorstw (>1000 pracowników), podczas gdy około 50 procent użytkowników Android Studio i Xcode to małe firmy (50 lub mniej pracowników).

biorąc pod uwagę rangę Strategy Analytics w mobilnych środowiskach programistycznych, Xcode osiągnął najwyższy ranking w zakresie możliwości testowania, podobnie jak Visual Studio. Android Studio w tyle. Wszystkie wyniki to: Xcode-22; Visual Studio -21; i Android Studio -13.

biorąc pod uwagę inne opcje: Xamarin vs Hybrid Development vs natywny iOS/Android vs Inne wieloplatformowe frameworki

ostatnio wielu programistów zgadza się, że Xamarin można uznać za „natywne” narzędzie programistyczne. Rzeczywiście, istnieje opinia, że ” wszystko, co można zrobić w aplikacji na iOS przy użyciu Objective-C lub Swift, i wszystko, co można zrobić w aplikacji na Androida przy użyciu Javy, można zrobić w C# przy użyciu Xamarin.”

jednak istnieje wiele pułapek w debacie native vs Xamarin. Zobaczmy, jak Xamarin porównuje się do natywnych narzędzi programistycznych i hybrydowych platform rozwojowych (Ionic, PhoneGap / Cordova).

Xamarin vs Native vs Hybrid Development

Xamarin vs hybrid vs native development w skrócie

chociaż hybrydowe narzędzia do rozwoju mobilnego szybko się rozwijają, nadal brakuje im wydajności i natywnych możliwości, które Xamarin oferuje mniej więcej za taką samą cenę. Jednak krótszy czas wprowadzenia na rynek pozostaje ich główną zaletą.

jeśli chodzi o wybór pomiędzy Xamarin lub natywnym systemem iOS/Android, należy wziąć pod uwagę dostępny czas i budżet (natywne Tworzenie jest zwykle droższe i trwa dłużej) oraz rodzaj aplikacji. Jeśli potrzebujesz wysokiej klasy wydajności i idealnie dopasowanego interfejsu użytkownika, warto wybrać aplikacje natywne.

wraz z pojawieniem się i rozwojem kolejnych wieloplatformowych frameworków, Xamarin coraz trudniej utrzymać swoją pozycję na rynku. Obecnie wiele frameworków wyprzedziło już Xamarin pod względem popularności i wydajności. React Native został wybrany najlepszym wyborem 2020 roku, a tuż za nim plasował się Flutter.

dynamika użytkowania wieloplatformowych platform mobilnych. Źródło: Statista

każda wieloplatformowa struktura aplikacji ma inną funkcjonalność i strukturę. Aby uzyskać lepszy obraz, sprawdź nasze artykuły porównawcze: Xamarin vs Flutter i Xamarin vs React Native vs Ionic vs NativeScript. Ten ostatni, na przykład, mimo że jest mniej popularny, byłby szczególnie cenny dla tych programistów, którzy używają Angular framework, ponieważ są one ściśle ze sobą powiązane.

Rada

porównując zalety i wady, wymienione wady są zwykle uważane za szkody uboczne. Większość właścicieli firm wybiera platformę Xamarin mobile app development platform, ponieważ skraca ona czas wprowadzania na rynek i zmniejsza koszty inżynierii, udostępniając kod i korzystając z jednego stosu technologii. Jednak cel aplikacji i jej grupy docelowej może być jeszcze ważniejszym czynnikiem do rozważenia.

bazując na doświadczeniu naszego zespołu, najlepszym przypadkiem zastosowania Xamarin są Rozwiązania mobilne dla przedsiębiorstw. Dzięki standardowemu interfejsowi użytkownika, który obejmuje 90 procent projektów, Cała podstawowa logika produktu może być łatwo udostępniana na różnych platformach. Dlatego dostosowanie platformy zajmie tylko 5-10 procent wysiłku inżynieryjnego.

w przypadku aplikacji z dużym interfejsem użytkownika Ilość współdzielonego kodu drastycznie spada. W ten sposób rozwój Xamarin między platformami traci swoje główne korzyści i może być równy czasowi i kosztowi w stosunku do rozwiązań natywnych.

Ten artykuł jest częścią naszej serii „dobre i złe”. Jeśli jesteś zainteresowany tworzeniem stron internetowych, zajrzyj do naszego wpisu na blogu

the Good and the Bad of Angular Development

the Good and the Bad of JavaScript Full Stack Development

the Good and the Bad of Node.js Web App Development

dobre i złe ReactJS i React Native

dobre i złe języka programowania Swift

dobre i złe narzędzia do automatyzacji testów Selenium

dobre i złe Android App Development

dobre i złe .Rozwój sieci

dobre i złe narzędzie do automatyzacji testów GUI Ranorex

dobre i złe Tworzenie aplikacji Flutter

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.