Escrevendo código para a web
(mrmr.io)- A Apple oferece aos clientes dispositivos seguros e com baixa necessidade de manutenção, mas a conclusão empírica é que ela não cria o mesmo nível de interdependência com desenvolvedores independentes
- O bug de modo escuro/claro da Busca do Google é usado como exemplo de como um incômodo que não afeta a receita pode ficar sem solução por muito tempo, mais do que por falta de capacidade técnica
- O valor central da Apple está mais em computadores e dispositivos seguros que o usuário pode usar sem administração separada do que no ecossistema de apps; a ideia é que há motivos para comprar um iPhone ou iPad mesmo sem apps
- A API do Apple Music, que gerou expectativa em 2016, ainda tem bugs e restrições de acesso 8 anos depois, e até uma simples experimentação exige uma conta de desenvolvedor de US$ 100 por ano
- A plataforma web, que não pertence a uma única empresa, é imperfeita e frágil, mas continua sendo uma opção realista para desenvolvedores que querem ficar menos presos à estrutura de soma zero de uma empresa específica
A Apple é forte com clientes, mas não depende de desenvolvedores
- O ponto central é a percepção de que a Apple oferece valor claro para pessoas físicas como clientes, mas tem pouca razão estrutural para se importar com desenvolvedores independentes da mesma forma
- A relação de dependência flui como
Developer -> Apple,Apple -> Consumer, e considera-se que quase não há dependência no sentido inverso, da Apple para o desenvolvedor independente - Mesmo que todos os desenvolvedores parem de criar para as plataformas da Apple, a empresa provavelmente continuaria existindo, porque sua proposta central de valor não depende de cada desenvolvedor individual
- A cooperação com desenvolvedores corporativos “parceiros” pode ser necessária, mas isso é uma questão diferente de depender de desenvolvedores independentes
- Algumas multinacionais colocam desenvolvedores no centro da estratégia, mas a Apple não seria desse tipo
- Depois de aceitar essa distinção, ficou possível separar o gosto por produtos da Apple do desejo de desenvolver para a Apple
Caso Google: bugs sem impacto na receita podem permanecer por anos
- A Busca do Google tem um problema em ambientes onde o sistema alterna dinamicamente entre modo claro e escuro: a primeira página de resultados aparece com o tema oposto
- À noite, com o sistema inteiro no modo escuro, a primeira página de resultados aparece clara e machuca os olhos
- De manhã, depois que o notebook volta ao modo claro, os resultados aparecem com fundo preto, dificultando a leitura
- Esse bug persiste há anos, e a ideia é que dificilmente será corrigido a menos que acabe sendo resolvido por acaso em alguma grande reformulação
- A interpretação é que a causa não é incapacidade do Google de corrigir, mas sim o fato de não afetar a receita
- Quem usa mecanismos de busca alternativos como o DDG já foi embora, e a esmagadora maioria continua presa ao Google
- O DDG se vende como pró-privacidade, mas o motivo real de uso estaria em uma UX simples que lembra o Google do início, resultados de pesquisa exata de boa qualidade e anúncios que não atrapalham
- O Google não trata o usuário como um objetivo de teoria dos jogos, e as interações hostis ao usuário que surgem quando é preciso usar produtos do Google passam a ser entendidas como resultado dessa estrutura
O valor central da Apple: computadores seguros e sem carga de administração
- Por volta de 2009, ao escolher um computador para a família, concluiu-se que o Windows era inseguro demais na época e que o Linux exigia suporte técnico contínuo
- No fim, foi preparado um computador com OpenBSD, Firefox e jogos básicos, mas, em troca de segurança, privacidade e baixa necessidade de suporte, a usabilidade ficou bastante limitada
- Depois de usar um Mac de trabalho em uma empresa de apps para iOS, chegou-se à conclusão de que “este é o computador que eu queria para a minha mãe”
- Juntou-se dinheiro para comprar um MacBook e, com o tempo, o formato usado pela família mudou de notebook para iPad, mas o mesmo valor central continuou sendo atendido
- Mesmo um iPhone sem apps ainda seria um dispositivo que a pessoa provavelmente compraria para si, e quase certamente compraria para a família
- No modelo de negócios da Apple, desenvolvedores não são um elemento essencial; é bom se estiverem felizes, mas a estrutura não exige que estejam
- Dentro da Apple há pessoas que se importam com desenvolvedores e tentam melhorar as coisas, mas as ações da empresa como um todo podem não ser consistentes
Expectativa e frustração com a API do Apple Music
- Quando a API do Apple Music foi anunciada na WWDC por volta de 2016, houve grande expectativa, mas na prática não aconteceu aquela ideia de que “tudo muda”
- O player de música da própria Apple ainda parece difícil de usar, e os players alternativos testados em geral seguem uma abordagem ao estilo Spotify
- Havia a expectativa de recriar uma experiência de player musical rápida, fluida, infinita e pessoal, como na era de Justin Frankel no Winamp
- A ideia era que, com o catálogo musical da Apple, seria possível reproduzir essa experiência sem depender de pirataria como no passado
- Quando surgiu tempo livre, foi criado um player chamado Flowers, e também havia a intenção de escrever um tutorial para que outras pessoas pudessem criar seus próprios players
- Durante a implementação, a conclusão foi que, mesmo após 8 anos, a API tem bugs e não é aberta
- Só para testar a API já é preciso pagar US$ 100 por ano à Apple
- O custo não é uma taxa por uso em grande escala, mas é exigido até para simples acesso experimental
- Mesmo com conta paga de desenvolvedor, recebe-se apenas uma API limitada
- No console do navegador do player web da Apple Music, ao inserir
MusicKit.getInstance().developerToken, é possível obter gratuitamente um token raiz sem restrições, o que faz o processo para desenvolvedores parecer irracional
A web é uma plataforma compartilhada sem dono único
- A conclusão segue na direção de escrever código que roda na web
- A web é uma plataforma compartilhada que não pertence a um único agente, e nesse sentido difere das plataformas de empresas específicas, já que até a boa vontade pode ser arruinada por incompetência
- A plataforma web está em estado frágil por causa dos seguintes fatores
- governos excessivamente intervencionistas
- duopólio dos navegadores
- ecossistema de desenvolvedores complexo
- Não há garantia de que a web continuará prosperando, mas ela sobreviveu até aqui, e quanto mais tempo sobreviver, maior a chance de continuar prosperando no futuro
- Diz-se que o código de contorno que precisou ser escrito recentemente para a web foi por causa de um comportamento peculiar do Safari
- Ao mesmo tempo, o Google vem fazendo um ótimo trabalho pela web e, nesse contexto, é avaliado como tendo um papel positivo
É difícil dividir a relação com empresas em bem e mal fixos
- Assim como não é útil classificar pessoas de forma fixa como boas ou más, também é difícil classificar empresas permanentemente como boas ou más
- As empresas compartilham características semelhantes às das pessoas no sentido de terem inteligência, personalidade, nascimento, crescimento, desaparecimento e personalidade jurídica
- Assim como não se pode viver sem pessoas, também não se pode viver sem empresas; mesmo com características não humanas, formas fractais de organização humana continuam existindo
- Se empresas não forem colocadas em categorias fixas de bem e mal, torna-se possível se relacionar com elas de maneira mais fluida
- quando uma empresa empurra a pessoa para um jogo de soma zero, reduz-se a dependência
- quando ela permite uma relação mais simbiótica, volta-se a se envolver
- Em 1996, Steve Jobs disse que grandes, médias e pequenas empresas estavam começando a ver a web como o canal definitivo de distribuição direta ao cliente, um caminho para ir do fornecedor ao consumidor contornando intermediários
1 comentários
Opiniões no Hacker News
No começo, decidi não aprender desenvolvimento mobile nativo e concentrei todo o meu tempo limitado na Web; desta vez, acho que foi a escolha certa
Hoje dá para criar coisas incríveis no navegador e, na minha opinião bem pessoal, com exceção de Uber, Google Drive e jogos, a maioria dos apps deveria ter sido web app
Trabalhei no setor de mídia, e no início dos anos 2010 no meu país foi uma época em que veículos com pouco dinheiro despejavam orçamento para criar apps mobile; eu era a pessoa do contra que resistia a essa onda
Eu sabia que a maioria dos apps não teria boa qualidade e que as empresas não manteriam seus front-ends mobile atualizados de forma consistente; no fim, foi exatamente isso que aconteceu
Agora estão presos a apps quase sem manutenção, e a maioria parece relíquia de uma era passada — e de fato é
Mas não entendo por que Uber. A Uber tem, ou tinha, um site mobile que lida bem com pedir uma corrida e quase tudo que o app faz, e não vejo claramente que valor o app nativo acrescenta para o usuário
O mesmo vale para a maioria dos jogos mobile. Em geral são gráficos simples que o navegador consegue renderizar com desempenho suficiente, e muitas vezes eles recriam componentes comuns de UI por conta própria, então não poder usar botões nativos do sistema não faz tanta diferença
PWAs também podem oferecer armazenamento local e espaço suficiente para dados de jogos. Claro, jogos que levam o sistema ao limite são exceção
Não espero que jogos como Death Stranding ou o remake de RE4 rodem bem sem acesso direto à aceleração gráfica nativa, e eles são grandes demais para carregar como uma única página Web
Mas a maioria dos apps mobile, até mesmo jogos free-to-play altamente lucrativos que poderiam ficar com mais 30% da receita se fossem para a Web, não se enquadra nisso
Então por que não mirar a Web? Meu palpite é que usuários de mobile foram condicionados a procurar apps e jogos na App Store, enquanto usuários de desktop esperam que, com exceção de algumas ferramentas profissionais e jogos pesados, apps sejam oferecidos no navegador
No fim, em grande parte é um problema cultural, e o suporte insuficiente da Apple a PWAs também não ajuda
A maior parte da frustração vem das ferramentas, especialmente do TypeScript; é difícil resumir, mas passei muito mais tempo brigando com o sistema de tipos do TypeScript do que no mundo nativo
Só me preocupa se Google e Apple têm incentivo para ajudar a melhorar PWAs até um nível em que possam competir com apps nativos. Se chegarem a esse ponto, isso pode afetar a receita delas
É melhor investir tempo nos blocos fundamentais da stack tecnológica
Tudo isso poderia ser resolvido pela Web
O motivo de a Apple não ligar para desenvolvedores é, como ela mesma explicou, que criou do lado dos usuários algo parecido com um culto em torno de um jardim murado
Se desenvolvedores não criarem produtos para aquela plataforma, perdem metade do mercado, ou até mais
No meu trabalho principal, criando jogos mobile em um pequeno estúdio dentro de uma grande empresa, temos de brigar continuamente com a Apple não só por questões técnicas, mas também por políticas e aprovação
Mas é difícil imaginar lançar um jogo mobile que não tenha como rodar no iOS, então não há escolha a não ser obedecer
Em muitos aspectos, a estratégia original da Microsoft para PCs era o completo oposto. Ela cuidava dos desenvolvedores e oferecia documentação, exemplos e ferramentas em grande escala
As empresas desses desenvolvedores tinham incentivo para criar, promover e vender software para a Microsoft, e a onda de desenvolvedores individuais despejando software para Windows criou o sistema operacional de desktop que ainda hoje domina
Contribuir para o ecossistema da Apple é uma escolha, não uma obrigação. Desenvolvedores que contribuem para o ecossistema da Apple estão participando ativamente da situação atual
A Apple consegue isso tratando mal os desenvolvedores ou, mais precisamente, impedindo que os desenvolvedores tratem mal os clientes
É parecido com pressionar fornecedores com força, mas no fim foi criado um ecossistema saudável e rico, e desenvolvedores e fornecedores continuam oferecendo apps ali
Coisas como redes sociais, apps de namoro, Reddit e Stack Overflow. Não serviços que dependem da experiência mobile, como Uber, que precisa de rastreamento de localização, ou jogos mobile projetados para jogar em movimento
Se o negócio não depende da experiência mobile, é possível oferecer o serviço sem um app nativo
Usuários mobile também podem acessar pelo navegador mobile e, mesmo que não seja a experiência ideal, ainda é uma opção
Acho que o ponto central é: se a plataforma mobile não é essencial nem algo de que você dependa, não crie para ela
Alguns anos atrás, mergulhei para aprender Swift e desenvolvimento nativo para iOS, mas simplesmente não consegui me acostumar a usar o Xcode
A UI/UX do Xcode era terrível a ponto de ser difícil descrever, e eu precisava ficar abrindo e fechando painéis para clicar em ícones que nem eram agrupados de forma intuitiva
Quando eu abria um painel, outro era forçado a ser minimizado, e parecia que um décimo do tempo era gasto basicamente “dirigindo painéis”
Parece que os designers da Apple queriam criar um IDE visualmente bonito e minimalista, não um IDE com pouca fricção para desenvolvedores
Mas um IDE não precisa ser minimalista; ele deve poder ser customizado e deixado tão bagunçado quanto cada desenvolvedor quiser, de acordo com o que está tentando construir
Se você imaginar uma bancada física de garagem, o Visual Studio deixa você bagunçar e personalizar o espaço de trabalho como quiser, enquanto a Apple dá a sensação de exigir que você guarde a ferramenta anterior na caixa toda vez antes de pegar a próxima
É isso que quero dizer com dirigir painéis, e fico curioso se outros desenvolvedores também sentem isso
A expressão de priorizar forma em vez de função me permitiu colocar em palavras o que eu não gostava no Xcode
Estou há mais de 10 anos no ecossistema JetBrains e ele tem defeitos, mas nunca senti que a JetBrains não estava tentando fazer o IDE funcionar do jeito que eu queria
Mas o que realmente me fez desistir de criar apps nativos para plataformas Apple foi a combinação de bugs e falta de documentação
Quando usei pela última vez, há um ano, o SwiftUI não estava em um estado adequado ao propósito, e mesmo bibliotecas mais maduras muitas vezes quase não tinham documentação
Também é difícil saber o que foi descontinuado
No meu trabalho, as vantagens de apps nativos, do ponto de vista do usuário, já são pequenas para começo de conversa, principalmente algo como armazenamento local mais confiável
Se a produtividade é muito menor do que criar um webapp, fica difícil justificar o custo e o risco adicionais de depender da misericórdia de uma espécie de senhor monopolista
O Xcode não me incomoda nem um pouco, mas o elogiado Android Studio, baseado no IntelliJ, vive me irritando
O Visual Studio também tem limitações igualmente frustrantes e estranhas. Por exemplo, não entendo por que não dá para usar itálico no realce de sintaxe
Com editores é a mesma coisa. O VS Code tem pequenos incômodos, ao contrário do Sublime Text ou do TextMate
Ele dá aquela sensação dos IDEs pesados de antigamente: quanto mais você se adapta a ele, mais confortável fica, mas ao mesmo tempo permanece a sensação de que você não está no controle
Se a Apple se importasse, poderia tê-lo deixado pelo menos metade tão ágil quanto o VS Code, mesmo que não chegasse ao mesmo nível, e com certeza ele poderia ser melhor do que é hoje
Só o suporte péssimo a key bindings do Vim já me deixa irritado. Por exemplo, não dá para repetir a maioria das ações, como
courNão sei se na época você usou SwiftUI ou se brigou com os storyboards do UIKit, mas este último é a pior experiência e eu não recomendaria nem a um inimigo
O SwiftUI ainda está em estágio inicial e tem coisas a polir, mas em comparação parece o futuro
Antigamente, precisei configurar uma conta de desenvolvedor da Apple para marcar um dos apps do nosso município como sendo de nossa propriedade
Não sei por que isso foi necessário, já que outros apps não precisaram, mas, de qualquer forma, era o que tínhamos que fazer, e foi uma experiência bem horrível
Primeiro, eu precisava de uma conta Apple e, como não queria usar minha conta pessoal, tive que criar uma conta de trabalho nova
Não dava para criar uma “conta de organização”, então ela ficou vinculada a mim como pessoa física; felizmente havia um iPhone antigo prestes a ser descartado que eu pude usar
Depois, esperei alguns dias até a Apple verificar minha identidade, o que basicamente consistiu em a Apple ligar para a pessoa que eu havia indicado como meu chefe e ela dizer que era verdade
Espero que tenham investigado mais, mas não tenho certeza, e o inglês das pessoas que ligaram era ainda pior que o nosso, então no mínimo foi cômico
Em seguida, precisei configurar o pagamento, porque, por algum motivo, é preciso pagar para ter uma conta de desenvolvedor da Apple
Pode parecer um valor que nem apareceria no orçamento total de uma cidade de 60 mil habitantes, mas era uma assinatura internacional, e como a Apple não oferecia uma forma de tratar isso como compra B2B facilmente registrável junto à autoridade fiscal local, ela virava objeto de revisão todos os anos
O pagamento também só podia ser feito por cartão de crédito, e como até cartões corporativos ficam vinculados a uma pessoa real, era preciso ter alguém responsável pela renovação
Pessoas mudam de emprego, e para trocar o proprietário era preciso contato entre a Apple e pessoas reais, então dá para imaginar o quanto isso foi divertido
Isso foi há alguns anos, então talvez tenha mudado, mas, entre mais de 300 soluções de TI corporativas com que lidei, nada foi tão horrível quanto a Apple
Para ser justo, sou desenvolvedor e nem sei por que acabei encarregado disso; talvez esse tipo de coisa seja mais comum do lado de operações de TI
A exceção é se você for uma grande empresa americana que consegue lidar facilmente com a papelada
Ainda é aleatório. Pode funcionar de primeira, ou, se você der azar e cair em algum bug aleatório desse processo, vai falhar por muito tempo
Não sei quando isso começou, mas não é algo muito recente
Às vezes esquecemos o quanto a web/www original era aberta, e o quanto ela ainda é, de modo geral, quando comparada ao “ecossistema de apps” monopolizado pela Apple e pelo Google
Claro que existe a “nuvem”, mas nada impede você de alugar um servidor e hospedar você mesmo o que é seu
Se não der certo, é só tirar de lá e alugar outro servidor. Existe efeito de aprisionamento, e pode não ser fácil, mas não é impossível
Olhando para o ecossistema de apps como um todo, há só 2 opções, e você fica literalmente à mercê deles
Pessoalmente, eu jamais apostaria um negócio inteiro em um único “app”. Se o público realmente exigisse, talvez eu mantivesse um app como um pequeno complemento, mas só isso
Detesto produtos que, em dispositivos móveis, me forçam a usar um app. Eu preferiria até a volta de algo como m.website.com e gostaria de evitar por completo esse ecossistema de apps
Da noite para o dia, por qualquer motivo ou por motivo nenhum, você pode acabar na situação de “ter que implorar por ajuda na primeira página do HN”
Rezo para que a nova onda de sideloading da UE gere exigências parecidas nos EUA, mas ao mesmo tempo sei bem que isso só é possível se houver gente suficiente que saiba e se importe com o que significam “jardim murado” ou “sideloading”
A web é ótima em teoria, mas o ambiente do navegador oferece apenas o básico demais, então, se você está acostumado a uma experiência de desenvolvimento “com baterias inclusas” como nas plataformas da Apple, ela não é muito atraente como plataforma de apps
No macOS, mesmo apps poderosos e refinados podem ser desenvolvidos com dependências e subdependências contáveis nos dedos de uma mão — e, com algum esforço, até sem nenhuma
Já um webapp equivalente acaba tendo dezenas a centenas de dependências para preencher lacunas de funcionalidade
Por exemplo, não vejo por que o navegador não poderia oferecer uma visualização nativa de lista/tabela que reutilize células de forma eficiente, sem JavaScript nenhum ou com pouquíssimo JavaScript
Não é raro precisar rolar centenas ou milhares de itens sem fazer o dispositivo engasgar ou ficar sem memória
AppKit, UIKit, SwiftUI, Android Framework, Compose e provavelmente Flutter também lidam bem com isso por padrão, mas no navegador, para essa funcionalidade tão básica, você precisa puxar uma biblioteca ou escrever o código você mesmo
Some a isso os problemas de gerenciamento de pacotes e de ferramentas em geral, e o mesmo problema fundamental continua persistindo enquanto as soluções vêm e vão
Também fiz vários apps para iOS/iPad desde 15 anos atrás
O bom da web é que normalmente existe uma biblioteca ou framework que atende ao que você precisa. Electron é um exemplo
No lado da Apple, muitas vezes não há boas bibliotecas, e o SwiftUI tem bugs demais
React simplesmente funciona bem e também é conceitualmente mais simples. Vinculação de dados bidirecional é uma má ideia
A Apple tem a ideia de que torna tudo mais simples, mas na prática muitas vezes deixa tudo mais trabalhoso e difícil
A tabela já vem preenchida pelo servidor com os dados necessários e na ordem correta
Por isso não é preciso reutilizar células e linhas, e mesmo com milhares de linhas os dados ficam na casa dos KB, então tudo responde rápido
Considerando alternativas como WebAssembly e Flutter, a falta de recursos básicos do navegador não deveria mais ser um problema
Acho que não é verdade que os desenvolvedores não fazem nada pela Apple
Sem apps de terceiros no iPhone, a Apple teria vendido muito menos celulares
Em tese, muitos apps poderiam migrar para a web, mas ainda assim continua sendo verdade que apps de terceiros tornam o iPhone muito mais digno de ser possuído
Quando há concorrência de verdade, os fabricantes de sistemas operacionais se esforçam para atrair desenvolvedores. Basta lembrar do antigo vídeo do Ballmer dizendo “developers developers developers”
Porque eles sabem que desenvolvedores agregam valor à plataforma e influenciam a escolha dos consumidores
O problema hoje é que não há concorrência significativa
Quaisquer que sejam as regras da Apple, os desenvolvedores precisam oferecer algo para iPhone, e a Apple pode ficar tranquila porque é muito improvável que uma terceira plataforma móvel se estabeleça
A Apple sabe disso e, com suas políticas rígidas, virou a situação de forma brutal
Embora os desenvolvedores tenham um papel enorme em tornar o iPhone algo que vale a pena possuir, a Apple age como se estivesse fazendo a eles o favor de permitir acesso aos clientes do iPhone, cobrando um imposto sobre toda a receita
Isso é abuso de posição de mercado e, como diz o blog, não há muito a fazer além de distribuir pela web
Não é perfeito, mas, fora a regulação, essa é a única alternativa significativa; e como a Apple não tem motivo para abrir mão por conta própria dos bilhões de dólares em receita obtidos ao taxar desenvolvedores de apps, ela fará de tudo para evitar regulação
Espero que a web ganhe força como forma de escapar de regras abusivas de distribuição de apps
Todos os dias penso em como a web é maravilhosa, e em como é lamentável que a Apple tenha tentado estragá-la o máximo possível ao levar desenvolvedores a criar apps para iOS em vez de webapps
Sem a App Store, a web teria ficado muito melhor
Haveria mais diversidade no consumo de conteúdo, nas fontes de mídia social, nas recomendações algorítmicas e nas experiências digitais
A web roda em qualquer lugar e também tem muitas APIs excelentes para criar aplicações imersivas/de próxima geração, como WebXR
Mas, se alguém criar um app WebXR em seu próprio site e vendê-lo, isso não gera dinheiro para a Apple; então a Apple jamais promove esse tipo de webapp
No longo prazo, a web não morre. Empresas entram, extraem lucro e desaparecem, mas a web não morre
A Apple oferece milhares de APIs que facilitam o desenvolvimento para a plataforma, criou uma linguagem de programação própria que se integra bem à plataforma e também tem um IDE totalmente integrado que funciona junto com as duas
Isso mesmo, “amigo”. Eles não se importam com você, a menos que você desenvolva para a plataforma deles
E quem pode culpá-los? As coisas acima são investimentos extremamente caros e demorados
Tentei desenvolver um app diretamente no macOS sem usar Swift e as ferramentas da Apple, e foi uma dor imensa
Eles descartaram e congelaram a versão do OpenGL de uma forma difícil de explicar, exceto como uma maneira de empurrar suas próprias ferramentas
Até carregar uma única DLL externa era quase impossível
Assim como transformar Vulkan em Metal, qualquer coisa multiplataforma precisa descer para o ecossistema de ferramentas da Apple
O macOS é um caso ainda mais incomum e específico do que qualquer distribuição Linux
É surpreendente ver como o desenvolvimento no Windows é fácil. Do lado da Microsoft, quase tudo é multiplataforma
Nada do que foi mencionado da Apple permite trabalhar de forma independente da plataforma
Já o Windows oferece suporte a tecnologias próprias como DirectX, mas também permite executar Vulkan, OpenGL etc. diretamente
Mas é significativo que o autor tenha entrado nisso ao trabalhar em um app de música. As APIs de áudio da Apple são uma bagunça completa
Media Player, AVPlayer, Core Audio, AVFoundation, AVAudioEngine etc. parecem bibliotecas usadas por equipes concorrentes desde a época da NeXT, e de algum modo todas sobreviveram até a era do iPhone
Passei cerca de três meses durante o lockdown da COVID tentando criar um player Shoutcast/Icecast, e foi realmente doloroso
Eles tornaram praticamente impossível escrever código nativo multiplataforma que rode no iOS e fizeram tudo que podiam, dentro dos limites políticos, para impedir que web apps competissem com apps nativos
Gosto da atitude saudável do autor em relação às big techs. É uma habilidade básica de sobrevivência moderna
Se eu pudesse escolher, preferiria não precisar instalar nenhum app no iPhone ou iPad, mas as limitações da plataforma tornam isso necessário na prática
Vi o web app do X/Twitter no Safari não reproduzir vídeos, mesmo depois de eu desativar o Lockdown Mode para o X
Gostaria de saber se isso é culpa da Apple por criar inconsistências na plataforma, ou se é intenção do X para fazer o usuário instalar o app
Sou especialista em deep learning e LLMs, mas sempre gostei de desenvolvimento web também
O que atrapalha é que as ferramentas são complexas demais
Ainda assim, uma pessoa que conheço escreve bastante sobre ClojureScript + Dart, então estou pensando em tentar
Gostaria de encontrar uma stack simples de web app que eu consiga aprender em poucos dias e que seja bem suportada; recomendações seriam bem-vindas
Uma parte considerável do desenvolvimento web é conhecer bem o navegador, e web.dev é um excelente recurso
Depois disso, é só aprender React + TypeScript. O novo react.dev também é bom
React não é perfeito, mas é tão bom como paradigma para criar UI que a Apple o seguiu ao criar SwiftUI
Pegue o Vite e comece a programar
O que eu mais recomendaria é estudar esses materiais de verdade. Comece pela primeira página da documentação e siga com calma até o fim
Dito isso, não há muita coisa que dê para aprender em poucos dias. Trabalho de front-end é difícil por bons motivos