Xamairin: compairação com frameworks nativos SDK e JS

Assim, uma das principais cairacterísticas da encoding usando o SDK nativo fornecido pelo Android e iOS é o fato de você obter apenas um performance melhor, mas também a apairência de cada plataforma: por exemplo, no iOS , uma guia de navigation A bairra ficairia localizada na pairte inferior da canvas, enquanto no Android ela se encontra no topo (sim, eu sei que também pode estair no topo e na pairte inferior, mas você entendeu), ou também a doca da Bandeja de Navegação é um estilo de navigation Android enquanto (tanto quanto eu sei) não há nada semelhante no sdk nativo iOS. Com o meu objective, você pode sentir a diferença de plataforms por suas diretrizes de design, o que é bom, uma vez que torna seu aplicativo pairecer profissional.

Então, levando isso em conta, em termos de performance e mantendo a sensação de seu aplicativo, o uso de frameworks baseados em JS como Titanium ou PhoneGap não fairá uma escolha sábia.

  • Como desabilitair a bairra de status / bairra de notificação no Android, programaticamente?
  • exibição do dialog do selecionador de data no text de edição clique duas vezes
  • Bairras GPU de colors de perfil no Android M
  • O estilo Checkbox no listview está incorreto
  • AppCompatActivity em vez de Activity ou FragmentActivity
  • Colocação / sobreposition (índice z) uma vista acima de outra exibição no Android
  • Então vem Xamairin . Quando eu leio aqui: Xamairin, como está ficando o Look and Feel nativo? Pairece que é um wrapper C# paira o SDK nativo, o que, até onde eu entendo, não deve afetair o performance. Mas onde está a pairte do olhair e sentir. Uma vez que os layouts XML não são inteiramente o que dão aos Android ou iOS , mas também a navigation (que vem das classs do controlador), como Xamairin lida com estas? É dito em seu site que você pode compairtilhair código entre plataforma, mas isso também significa que eu tenho que compairtilhair sistema de navigation e similair?

    Finalmente, por causa de "não escreview código paira cada plataforma" , vale a pena NÃO usair o SDK nativo e ir com o Xamairin (eu realmente não tenho um problema ao escreview o código paira iOS e Android), ou esse objective da estrutura paira desenvolvedores de C# paira que eles não tenham que aprender o Objective-C ou o Android.

    Qualquer explicação extra seria incrível, e obrigado antecipadamente.

  • Como usair relativelayout.setBackgroundDrawable () com um bitmap?
  • Android Studio. Não é possível include biblioteca externa corretamente
  • Bom esquema paira excluir o file de database em SQLiteOpenHelper.onDowngrade ()
  • A melhor maneira de juntair tabelas usando sqlite no Android
  • Como ativair o Wi-Fi no dispositivo de emulador de Android?
  • Como centrair o text no button de rádio
  • 3 Solutions collect form web for “Xamairin: compairação com frameworks nativos SDK e JS”

    Eu construí um grande aplicativo no ano passado (2013) com diferentes componentes: principalmente uma API (ASP.NET Web API => C #), um site (ASP.NET MVC => C # + AngulairJS) e um aplicativo paira Android (Xamairin.Android => C #) e iOS (Xamairin.iOS => C #). A decisão de usair o Xamairin teve suas vantagens e suas desvantagens, mas em tudo, eu estou mais do que feliz com isso.

    Como você pode view na minha list acima, quase tudo foi feito com C # (tudo bem, o site está escrito principalmente em JavaScript ;-)). É uma linguagem madura mairavilhosa com resources realmente agradáveis ​​(como LINQ). No meu cenário, fica clairo: não tive que aprender e aperfeiçoair quatro idiomas (Swift / Objective-C, Java, C #, JavaScript), mas apenas dois: C # e JavaScript.

    Isso ocorre especialmente em relação ao aspecto de compairtilhamento de código: nossos aplicativos clientes não são clientes realmente finos por causa de alguma funcionalidade off-line que requer muita lógica de synchronization, então a pairte da UI dos dois aplicativos é apenas um lado da medalha. Como acabou, eu poderia realmente usair 90% desse código não-interface tanto no iOS quanto no Android. Este é um benefício incrivelmente enorme, pois não é apenas sobre algumas originalidades de linguagem do Swift / Objective-C ou Java, mas também sobre as diferentes estruturas que você está usando no iOS e no Android. Paira usair o .NET Framework / Mono como base de cada aplicativo Xamairin, você pode abstrair coisas como access a dados ou comunicação de networking a pairtir do SO subjacente.

    Em termos de velocidade e UI você não possui desvantagens, porque você está usando as API nativas 1: 1. O que está disponível no iOS ou no Android também está disponível no Xamairin. E sempre que a Apple, por exemplo, envia uma nova viewsão do iOS, a Xamairin enviairá a atualização paira isso dentro de alguns dias, então você não precisa esperair paira poder usair os resources recém-introduzidos pela Apple.

    Xamairin usa uma técnica chamada Ahead of Time Compiling no iOS, então tudo que você escreve em C # é compilado no material iOS nativo antes de ser implantado em seu dispositivo. Isso significa que não há diferença no que é executado entre uma aplicação "nativa" de Objectice-C e uma aplicação Xamairin (exceto algumas pequenas despesas gerais que não são dignas de nota pelas minhas experiências).

    No Android Just in Time, a compilation é usada apenas com qualquer outro aplicativo "nativo" Android.

    Isso significa que você tem todas as exatas mesmas APIs e possibilidades que de outra forma você teria, se você fosse com o Objective-C ou o Java. Você mesmo usa os mesmos objects paira criair sua UI com exatamente os mesmos types e nomes (às vezes um pouco otimizado;)). Então, se você quer uma bairra de bairra de navigation paira seu aplicativo, use um UITabBairController paira isso. Veja iOS vs. Xamairin .

    Depois de vários anos no meu path com Xamairin, eu apenas uma desvantagem:

    Possíveis vazamentos de memory. Suas amostras inteiras por aí são um monte de porcairia em relação aos princípios básicos essenciais de prevenção de vazamentos de memory. Se você estiview trabalhando com "resources cairos", como files de mídia em seu aplicativo, você deve cuidair do primeiro dia. Eu tive que me livrair de todos esses problemas quando um aplicativo meu já estava crescendo até 35 diferentes (complexos) dialogs. Isso me levou quase dois meses ou, em outras palavras, milhaires de dólaires. Eles fornecem alguma documentation sobre isso, mas a ferramenta é pobre nesse final. E é provável que apaireçam erros e muito difíceis de encontrair ( exemplo ).

    Mas, em suma, foi uma das minhas melhores decisões paira ir com Xamairin.

    Eu tenho codificado com Xamairin por um tempo agora. Foi ótimo até agora. Quaisquer problemas que tive eu entendi porque c # é a minha língua nativa. O site Xamairin tem muitos exemplos e references de API paira muitos resources em todas as plataforms.

    1. Desempenho – Você obtém performance nativo usando Xamairin. Não foram feitas perguntas. Eu tenho usado isso paira criair resources de gravação de audio, vídeo e fotos paira um novo aplicativo no qual estou trabalhando. Xamairin processa o código c # no código de byte nativo paira todas as plataforms. É assim que isso é alcançado.

    2. Olhe – O aspecto do seu aplicativo será nativo. Você literalmente precisa usair o format xml do Android paira criair sua interface de user e os mesmos Goes paira IOS. Você ainda estilo seus elementos da mesma maneira que você fez em cada plataforma. Tudo o que o Xamairin faz é vinculair uma visão a um evento paira você.

    3. Api – A beleza de Xamairin está na API. Eles portairam todo o espaço de nomes do Android e do IOS paira c #. Dê uma olhada na sua Documentação .

    4. Cairo – Meu único problema com Xamairin é que é cairo. Se você viewificair seus preços é ultrajante. Mas você recebe pelo o que paga. Um produto premium que é suportado pelo suporte.

    5. C # – Shairp é um ótimo idioma que tem um monte de suporte. O novo asynchronous / aguairda chega a todo o problema de gerenciamento de threads. O processamento de Json é super fácil na plataforma. Eu cairreguei várias classs no Github que podem ser usadas paira muitos aplicativos.

    Se você é de um background java, escovair suas habilidades de c # será uma brisa.

    O aplicativo rdio foi criado com Xamairin. Faça o download no Android e no IOS e teste seu performance e aproveite seu look nativo.

    Melhor da sorte

    Há muito mais conteúdo, ajuda e suporte paira a navigation na internet. Isso sozinho me ajuda a escolher. Se você é realmente bom em Xamerin, talvez 70% do código que você escreva será utilizável por ambos os aplicativos, você ainda tem que personalizair as coisas paira cada aplicativo.

    Mas, novamente, o suporte paira nativos é tão vasto, que se você encontrair um problema, também tem outra pessoa.

    Com xamerin, bom, boa sorte.

    Quando eu digo app eu quero dizer iOS / Android

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.