Taverna /dev/All

Xamarin vale à pena?

image

Com soluções realmente abertas como Flutter ou Ionic disponíveis, Xamarin (https://dotnet.microsoft.com/apps/xamarin) para desenvolvimento multiplataforma é uma tecnologia na qual vale à pena investir?

Quais as principais vantagens do Xamarin hoje? A principal razão que tenho hoje para não adotá-lo é o fato de executar apenas no Windows, quando no dia a dia usamos Linux. Mas tirando esta limitação, quais outras vocês citariam que impediriam sua adoção?

1 Curtida

Achei muito pertinente este questionamento. Trata-se se de uma decisão muito impactante para o futuro de nossos projetos, principalmente para grandes projetos.

Na minha humilde opinião, a única vantagem para adoção do Xamarin (contra outras soluções para desenvolvimento híbrido), seria o fato de utilizar a linguagem c#. Que é linguagem amplamente consolidada e com uma comunidade muito forte e ativa mundialmente.

Porém, eu tenho optado por utilizar plataformas que aproveitam todo o ecossistema de desenvolvimento web (Ionic, React Native, etc), em vez de ecossistemas próprios (Xamarin, Flutter, Nativos etc), justamente pela ampla gama de soluções prontas para o ambiente web, para quase todos os tipos de problemas que eu passei durante o desenvolvimento dos meus Apps.

Por exemplo, tenho utilizado o moment.js para trabalhar com datas nos meus apps.
Cara, que biblioteca fabulosa! Me poupou horas de trabalho.

Quanto ao ambiente de desenvolvimento para o Microsoft Xamarin, parece que a microsoft está atenta aos anseios da comunidade, e este cenário já está sendo melhorado.

2 Curtidas

O que me deixa com muitos pés atrás é esta tendência da Microsoft em matar suas tecnologias com o tempo. Querendo ou não é muito raro um projeto de curtíssima duração, o que diminuiria este risco.

Fiz esta mesma pergunta no Twitter e me responderam que ela já está começando a deixar a solução de lado e focando em React Native, olha só:

I was attending @react_native_eu last week and the biggest learning for me was, how heavily invested @Microsoft is in @react and @reactnative. Besides reactXP and react-native-window they are also working on macOS as a platform and are using it already in multiple products. pic.twitter.com/WIeHyQmyRC

— 👨🏻‍🍳 Ullrich Schäfer (@stigi) September 8, 2019

As imagens falam muito inclusive:

Basicamente não estão comendo da própria comida (de novo, tal como fizeram com o próprio .net em certo sentido), o que normalmente é um sinal de abandono em breve

2 Curtidas

Eu usava isso em 2005 quando era o mono, para fazer apps para Ubuntu usando gtk e c#. Era muito útil. Para Android já não acho. O tooling da Google tem tudo que que é necessário.

o problema do ferramental que o Google oferece é que, tirando o Flutter, é nativo para Android apenas.

O ideal é ter algo que gere para iOS e Android.

1 Curtida

Concordo, mas é com o tooling nativo que se consegue tirar o máximo da plataforma. Essas soluções não são 100%. Se os seus requisitos não são muito altos, é uma boa solução, mas para um app que precisa ficar enxuto no smartphone, não acho muito legal. Mais para frente, kotlin deve rodar nativo no IOS e deve diminuir essa barreira.

Falando de soluções multiplataforma, já tentaram Qt e c++ ?

2 Curtidas

Acho que híbrido deve atender 90% dos apps (um chute), então pra mim e pelas experiencia que tive com mobile, qualquer framework híbrido atende a grande maioria dos devs, tendo em vista que esses devs trampam com web, se torna ainda mais fácil e hoje acho que muitas coisas nem vale a pena ter um app, basta um pwa e tentar soluções tipo twa.

2 Curtidas

O problema do híbrido é que você vai ficar limitado na plataforma. Por exemplo, se o seu aplicativo necessita de rodar em background. Para isso precisa rodar como um serviço, e somente o tooling da Google consegue sem ter que apelar para um workaround ou uma gambiarra. De qualquer forma, é questão de requisitos. Se o app só precisa ler JSON, híbrido é mais que suficiente para solucionar a demanda.

2 Curtidas

itexto