19 pontos por GN⁺ 2024-08-30 | 3 comentários | Compartilhar no WhatsApp
  • Skip é uma ferramenta que permite expandir o desenvolvimento de apps em Swift para o Android
  • É possível desenvolver apps nativos para iOS e Android usando Swift e Xcode
  • Como o Skip funciona
    • Ao desenvolver apps em Swift e SwiftUI no Xcode, o plugin do Skip para Xcode os converte para Kotlin e Jetpack Compose
    • É possível desenvolver bibliotecas ou apps completos para as duas plataformas, mantendo desempenho nativo e interface de usuário nativa

Vantagens dos apps com Skip

Verdadeiramente nativo

  • Os apps com Skip não apenas "parecem nativos", eles são de fato nativos
  • No iOS, usam Swift e SwiftUI; no Android, Kotlin e Compose

Transparência total

  • Com o Skip, todas as partes do app ficam expostas ao desenvolvedor
  • É possível inspecionar e personalizar diretamente o código Swift convertido em código-fonte Kotlin

Leveza

  • Com o SkipZero, o app para iOS não depende do framework do Skip
  • O app para Android precisa apenas de algumas bibliotecas open source do Skip

Eficiência de memória

  • Como não há runtime gerenciado adicional, os apps com Skip são o mais eficientes possível nas duas plataformas
  • No iOS, usam bare metal; no Android, bytecode ART

IDE ideal

  • A IDE do Skip é o Xcode, o melhor ambiente para desenvolvimento iOS
  • Para personalizações no Android, é possível abrir diretamente no Android Studio o código gerado

Integração perfeita

  • Como o Skip gera Kotlin e Compose padrão, a integração com bibliotecas Android é fácil
  • Também é possível chamar diretamente outros códigos Kotlin e Java

Baseado em open source

  • O transpiler do Skip é apenas metade da história
  • Frameworks como Foundation e SwiftUI, que sustentam o desenvolvimento de apps para iOS, também podem ser usados no Android por meio das implementações open source gratuitas do Skip

Compatível com CI

  • O Skip também converte testes unitários
  • É possível executar testes local ou remotamente para garantir o mesmo comportamento da lógica entre plataformas

Possibilidade de saída

  • Tanto a entrada em Swift quanto a saída em Kotlin pertencem ao desenvolvedor
  • Não é necessário depender continuamente do transpiler do Skip

Resumo do GN⁺

  • Skip é uma ferramenta que permite expandir apps em Swift para o Android, mantendo desempenho nativo e interface de usuário nativa nas duas plataformas
  • Ele permite que desenvolvedores trabalhem com mais eficiência aproveitando tanto o Xcode quanto o Android Studio
  • Por ser baseado em open source, oferece transparência e possibilidade de personalização
  • É compatível com CI e, por meio de testes, pode garantir o mesmo desempenho entre plataformas
  • Um projeto com funcionalidade semelhante é o Kotlin Multiplatform

3 comentários

 
ing03201 2024-08-30

Seria muito bom se também passasse a oferecer suporte à ofuscação de código.

 
godrm 2024-08-30

Opa, interessante. Ainda não faço ideia de quanto nem de como isso é tratado, mas parece uma tentativa ousada e divertida.

 
GN⁺ 2024-08-30
Opiniões no Hacker News
  • Relato de experiência ao portar um app pessoal para Android

    • Estava desenvolvendo um app para iOS com SwiftUI e, ao tentar portar para a versão Android, experimentou React Native, Ionic, Ignite etc., mas encontrou dificuldades
    • Ao usar o Skip, ficou muito satisfeito por conseguir escrever o app em uma única linguagem, mantendo o contexto do Swift
    • É fácil escrever código específico para cada plataforma, e foi possível executar o app rapidamente sem aprender Android
    • Pretende desenvolver o app inteiro com Skip e publicá-lo nas duas lojas de aplicativos
  • Preocupações sobre o Skip

    • Dúvidas sobre a licença open source (GPL vs MIT)
    • Curiosidade sobre gerenciamento de pacotes e como lidar com ramificações entre iOS/Android
    • Dúvidas sobre como as APIs de serviços da Apple são tratadas no Android
    • Necessidade de exemplos de anúncios e compras dentro do app
  • Pergunta sobre o gerenciamento de dependências no Skip

    • Dúvida se pacotes do Swift PM podem ser usados de forma transparente em projetos Android
    • Curiosidade sobre se o Kotlin pode chamar bibliotecas Swift de forma transparente
  • Opinião sobre o mercado-alvo do Skip

    • Parece ser um produto voltado principalmente para empresas dos EUA/Europa que querem converter apps de iOS para Android
    • Em outras regiões onde Android é dominante, existem frameworks melhores como Flutter, React Native e Kotlin MP
    • Aponta problemas de transpilation no Skip e dificuldades de manutenção
  • Experiência de conversão de código com ChatGPT e Claude

    • Teve sucesso ao converter código SwiftUI para Kotlin, Jetpack Compose e Material3
    • O código gerado funcionou quase imediatamente, exigindo apenas ajustes de estilo/tema
  • Relato de uso do Skip

    • Após alguns meses de uso, concluiu que há uma curva de aprendizado, mas que ele resolve completamente os problemas de cross-platform
  • Documentação do Skip e limitações da transpilation

    • Dúvida se há limitações na transpilation ao usar SwiftUI ou outras bibliotecas principais
    • Possibilidade de surgirem problemas semelhantes às dificuldades de desenvolvimento com Xamarin
  • Limitações de framework do Skip

    • Como a maioria dos apps iOS usa frameworks da plataforma Apple, a implementação mínima do Skip pode ser limitada
    • Atualmente não há implementação de StoreKit, WebKit, SafariServices, UserNotifications, CryptoKit etc.
  • Dificuldades para integrar o Skip com apps existentes

    • Pergunta se é difícil integrar o Skip com apps existentes em SwiftUI + UIKit
    • Necessidade de exemplos de apps pequenos ou médios migrados para Skip
  • Solução dos problemas de desempenho do Skip

    • Ajuda muito a resolver problemas de desempenho em frameworks cross-platform