Rozwój w Android Studio, czy w Xamarin?

Rozwój w Android Studio, czy w Xamarin?
DA
  • Rejestracja:około 9 lat
  • Ostatnio:około 8 lat
  • Postów:18
0

Witajcie!
Od kilku tygodni tworzę aplikacje mobilne na androida za pomocą Android Studio. Java znam w dobrym stopniu, jako język wymagany do deweloperki w tym środowisku. Jednak ostatnio byłem na kilku wykładach dotyczących Xamarina, a także czytałem opinie na jego temat. Według nich produkt Microsoftu jest przyszłością tworzenia takiego typu aplikacji, a dodatkowo działa na każdy mobilny SO. Współcześnie widzę w ofertach pracy, że częściej jest poszukiwany deweloper aplikacji natywnych na Androida. Nie wiem, czy przestawiać się na Xamarina, jako na podobno przyszłość tworzenia aplikacji. Sądzicie, że warto się przenosić na niego? C# jeszcze nie znam, ale dla przyszłości bym się nauczył :P

LS
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 6 lat
  • Postów:990
2

Xamarin jest fajną rzeczą jako dodatkowa umiejętność w mobilkach (można sobie wstawić dowolną hybrydę będącą akurat "na czasie") - bycie nativem na którąś z wiodących platform (ios/and) to podstawa jest chcesz iść w tą branżę.

Przy czym ja osobiście doradzał bym ci pójście w ekosystem Apple (Swift/Obj-C) bo choć projektów niby jest mniej to jednak sama platforma bardziej wdzięczna a i sami devowie lepiej opłacani (doświadczeni - jak jest ostatnio ze świeżakami to nie mam pojęcia bo od dłuższego czasu nikogo takiego nie miałem w projekcie)


--
Annuit Coeptis
DA
Dzięki za opinię. A powiedziałbyś mi, czy tworzenie apek w xcode dużo różni się od developingu e Android Studio? A i czy lepiej uczyć się swifta, czy objective c? Jakbyś mógł przybliżyć mi te różnice byłbym wdzięczny.
KO
Xamarin nie jest platformą hybrydową, w Xamarinie pisze się natywne apki, tylko w innym języku.
LS
Jest warstwą abstrakcji nad frameworkami systemowymi z użyciem c# - czytaj wprowadza dodatkowe możliwości bugów, jest zawsze opóźnione względem nowych releasów systemu i ich ficzerów na iOSie i nie pozwala wykorzystać wszystkich zalet c# (statyczna kompilacja)
LS
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 6 lat
  • Postów:990
1

Ucz się Swifta - ma dużo problemów wieku dziecięcego ale z czasem zostaną rozwiązane. Obj-C to dinozaur który ma w zasadzie jedną zaletę - jest stabilny i można mieszać go w dowolnych ilościach z C/C++ (jakby komuś było to potrzebne). Jest jeszcze trochę starych kobył w Obj-C które trzeba utrzymać ale wątpię aby brali do tego świeżaków.

Co do środowiska pracy to według mnie jest tak: XCode ssie. Jedyna rzecz do której obecnie go używam to jako visual editor dla xib/storyboard, ostatnio bawię się też z Playground. Jedyną alternatywą jest tylko AppCode od JetBrainsów (płatny ale w normalnej firmie nie powinni mieć żadnych problemów z dokupieniem llcencji), do Obj-C jest świetny - niestety sporo rzeczy popsuło się gdy zaczęli wprowadzać integrację ze Swiftem z uwagi na to że Swift szybko ewoluuje to nie nadążają ze wsparciem z drugiej strony wsparcie Swifta w XCode to też nie jest jakiś wzór ;)

Moja rada taka: zacznij od XCode i sprawdź sobie Playground, później ściągnij sobie triala AppCode i popracuj z oboma. Nie mogę się kategorycznie wypowiadać na temat różnic bo odpuściłem sobie XCode'a jakiś czas temu na rzecz AppCode'a ale AppCode ma świetne wsparcie w kluczowych dla mnie aspektach: debuggingu oraz refactoringu. Zobacz, poużywaj i pracuj z tym co ci bardziej podejdzie, od XCode i tak się nie uwolnisz więc musisz choć w podstawach go opanować :)


--
Annuit Coeptis
Zobacz pozostałe 6 komentarzy
LS
Też tak kiedyś myślałem ale biznes rządzi się trochę innymi zasadami - Xamarin jest dobry jako platforma RAD (rapid application development), w szybkim czasie dostajesz +/- funkcjonalny produkt na obie wiodące platformy. Dla dużej części klientów jest to OK. Ale jeśli część mobilna staje główną częścią twojej platformy to wtedy dopiero opłaca się inwestować w rozwiązania natywne.
DC
No jasne, to był tylko hate z punktu widzenia końcowego użytkownika (mnie) który zwraca uwagę na takie rzeczy. Świeży przykład - oficjalna aplikacja siatkarskiej PlusLigi, słabo to wygląda, działa i wiekszość rzeczy to linki do strony.
LS
Akurat miałem niegdyś do czynienia z apką dla środowiska sportowego - uwierz mi, termin "leśne dziadki" nie wziął się tak z powietrza ;) To co mówisz pokazuje że bardzo mały jest nacisk na jakość po stronie mobile.
DC
Na pewno patrze tez od innej strony bo profesjonalnie zajmuje sie wlasnie Androidem ;)
LU
Ładnie to wygląda na stronach hybrydowych platform, ale powiedzmy sobie szczerze - "to do list" można zrobić w dowolnej technologii i będzie jako tako działać. Nie wyobrażam sobie aplikacji, która operuje na większych zbiorach danych, liczy coś na urządzeniu, czy korzysta z innej natywnej funkcjonalności w Xamarinie. Powstaje crap, w którym nie da się przewinąć tabelki, a większość czasu spędzasz na rozwiązywaniu konfliktów między milionem zależności. Podobało się to tylko... .NETowcom, którzy chcieli tanim kosztem wejść w mobile i Androidowcom, bo lubią partyzantkę.
0

Tylko Web.

0
loza_szydercow napisał(a):

Xamarin jest fajną rzeczą jako dodatkowa umiejętność w mobilkach (można sobie wstawić dowolną hybrydę będącą akurat "na czasie") - bycie nativem na którąś z wiodących platform (ios/and) to podstawa jest chcesz iść w tą branżę.

Przy czym ja osobiście doradzał bym ci pójście w ekosystem Apple (Swift/Obj-C) bo choć projektów niby jest mniej to jednak sama platforma bardziej wdzięczna a i sami devowie lepiej opłacani (doświadczeni - jak jest ostatnio ze świeżakami to nie mam pojęcia bo od dłuższego czasu nikogo takiego nie miałem w projekcie)

huehuehue
no nie
no po prostu no nie :D

wejście w ios jest po prostu smieszne. musisz kupic maca, a jezyk to beton jakich mało. developerzy platformy olewają developerow aplikacji jak tylko mogą. chcesz być ponizana suka? to droga wolna. ja tam wole isc w web albo porobić cos w xamarin.forms i odpalić to wszędzie. a nie być suka uzalezniona od jabłkowego pana

LS
Niektórzy mają honor a inni pieniądze, co kto lubi ;D
spartanPAGE
ej, swift jest spoko
ML
heh1 to chyba ty jesteś suką bo robisz w web jak miliony innych
2

Xamarin jest dla devów .net, którzy chcą coś zrobić na mobile, ale są zbyt leniwi żeby wyjść poza swój grajdoł - chcą dalej pisać w swoim .net, tyle że na telefon, a wszystko co nie pochodzi od MS mają w głębokiej pogardzie i uznają za gorsze. Taki np pisze sobie apkę na Androida, ale hasło "logcat" albo "adb" jest dla niego nieznane i nie wie jaką wersję Androida ma na swym telefonie. A już całą aokę "zrobił w .net" i nawet ona działa.

spartanPAGE
ii co w tym złego, że tak zapytam?
KO
Developer Xamarina musi wiedzieć co to logcat i adb tak samo jak dev androida. Różnica jest tylko taka że pisze się w innym języku i można współdzielić większość kodu między platformami.
MrHyperion
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:112
0

Jak można myśleć w ogóle o Xamarnie w kontekście tego jak Android Studio jest przyjazne programistom (No i plus community Androidowe) :V?

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Wrocław
0
Złoty Pomidor napisał(a):

Xamarin jest dla devów .net, którzy chcą coś zrobić na mobile, ale są zbyt leniwi żeby wyjść poza swój grajdoł - chcą dalej pisać w swoim .net, tyle że na telefon, a wszystko co nie pochodzi od MS mają w głębokiej pogardzie i uznają za gorsze.

W swoim toku "myślowym" zapomniałeś, że Xamarin nie pochodzi od MS.

Taki np pisze sobie apkę na Androida, ale hasło "logcat" albo "adb" jest dla niego nieznane i nie wie jaką wersję Androida ma na swym telefonie.

Nie mam telefonu z Androidem, ale pisałem apki na ten system, nie wiem czym jest "logcat" i "adb" i nie używałem Xamarina. Jak sobie z tym poradzisz?

Khuzy
1) ale MS przejął i traktują jak swoje :P 2) pisałeś zawodowo ?
somekind
1) Co z tego, że przejął? Gość pisze debilizmy i tyle. 2) Tak, chociaż nie wiem, co to ma do rzeczy.
Khuzy
Wydaję mi sie, że logcat i adb to podstawowe narzędzia w pracy przy apkach ;)
somekind
Jeśli się pisze natywnie, to może i tak.
0

Tutaj rzetelne przemyślenia z praktyki: https://kissdigital.com/pl/blog/technologie-cross-platformowe-czy-natywne-aplikacje-z-doswiadczenia-developera - nie czytajcie slajdów MS ani zachwytów ludzi, którzy nigdy nie używali tego typu rozwiązań w swoich projektach w swojej własnej firmie.

Wszystko to ładnie wygląda na slajdach, fajnie też działa hello world zrobione zgodnie z tutorialem. Schody zaczynają sie dużo później. O tym już entuzjaści nie wspominają, jarają się filozofią i szczytnymi założeniami.

wiciu
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 13 godzin
  • Postów:1205
0

Osobiście nie mam przekonania do Xamarina bo nakłada od siebie dodatkową warstwę, ale może się mylę. Pomiędzy iOSem a Androidem jest tyle różnic zarówno w działaniu systemu, jak i UI, że w takiej apce xamarinowej i tak się nie obejdzie bez jakichś if-ów, strategii, etc. Efekt będzie taki, że zamiast dwóch lżejszych apek elegancko dopasowanych pod konkretne systemy, będziesz miał jedną ciężką apkę ze spaghetti kodem pod 2 platformy i liczył na to, że Xamarin sobie wszystko pooptymalizował pod spodem, jak należy. Jeżeli na razie skupiasz się tylko na jednej platormie (np. iOS lub Android), to lepiej iść w aplikacje natywne. Nie dość, że masz lepsze narzędzia, community, biblioteki, etc., to jeszcze możesz lepiej zapanować nad projektem. Oczywiście, że MS będzie promował Xamarina, bo jest to w jego interesie i chodzi o kasę, ale nie daj się zwieść hello worldom na prezentacjach ;). Chciałbym zobaczyć jakiś poważniejszy projekt rozwijany np. przez 2 lata lub dłużej na Xamarinie. Wtedy mielibyśmy jakiś grunt do dyskusji.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)