Pergunta

Alguém tem algum bom ponto de partida para mim ao criar páginas da web/sites/aplicativos especificamente para visualização no iPhone?

Eu olhei para modelos como esse Joe Hewitt fiz, e também vi alguns modelos que posso adquirir, que ainda não fiz.

Achei que outra pessoa já havia começado nessa trilha e decidi que provavelmente poderia aproveitar seu conhecimento recém-adquirido :)

Então, alguém tem alguma indicação?Estou bem ciente do problema de que quanto mais esse modelo/estrutura fizer um aplicativo da web parecer um aplicativo nativo do iPhone, maior será a probabilidade de eu ter problemas porque simplesmente não é, mas por enquanto eu quero uma estrutura na qual posso começar a construir e, no processo, descobrir como torná-la distinta o suficiente para ser percebida como um aplicativo da web e também parecer um aplicativo nativo do iPhone.

Especificamente, estou procurando recursos como:

  • configuração de folhas de estilo ou dicas de como fazê-las no iPhone
  • animação de virada de página, ou seja.escolha um item em uma lista, a lista sai da visualização para a esquerda e as informações do item rolam para a direita
  • a parte de animação teria que funcionar com páginas dinâmicas, ou seja.não apenas uma página grande com divs configuradas para cada subitem, que pelo menos uma dessas estruturas tinha como uma espécie de solução rápida, eu precisaria que a seleção de itens da lista carregasse o página para esse item e, quando carregado, role até ele

Editar:Para evitar que as pessoas leiam apenas a pergunta e a resposta, antes de ler minha outra resposta, adicionarei aqui meu esclarecimento sobre licenciamento GPL e questões semelhantes.

A estrutura que preciso usar não pode ser distribuída sob uma licença que exigiria que eu licenciasse meu próprio projeto sob uma licença semelhante.A família de licenças GPL permite exceções em relação ao uso da biblioteca, mas isso não se aplica a isso, pois, por necessidade, o tipo de estrutura que eu precisaria usar seria todo código-fonte.

O projeto pode acomodar facilmente bibliotecas comerciais.

Além disso, não preciso de um biblioteca ou um estrutura como tal, arquivos de exemplo que tenham boa aparência e não sejam excessivamente ofuscados também seriam bem-vindos.

Foi útil?

Solução

eu encontrei iphone-universal no Google Code outro dia.Ainda não tive oportunidade de experimentar mas parece promissor.

Outras dicas

jQtouch parece excelente.

O biblioteca iUI, originalmente de Joe Hewitt, seria um bom lugar para começar.A biblioteca é licenciada BSD e não tem restrições comerciais.

Você está certo em assumir iphone-universal não é uma opção para você - na verdade, ele é licenciado sob a Affero GPL, o que aciona a cláusula de distribuição simplesmente acessando o software através de uma rede que é bem diferente da GPL padrão.

Atualmente estou investigando http://webapp.net.free.fr/.Confira a demonstração aqui.Em comparação com os outros frameworks mencionados, apresenta as seguintes vantagens:

  • Em desenvolvimento ativo
  • Comunidade de usuários ativa
  • Tem uma licença aberta, de distribuição gratuita, desde que você inclua os direitos autorais/isenção de responsabilidade

O último ponto foi realmente o vencedor para mim.Estou pensando em construir algo que será incluído em um produto comercial, então outras estruturas como iphone-universal e iwebkit (ambas GPL) não eram opções.

QuickConnectiPhone é LGPL para que você possa usá-lo da maneira que desejar.Possui um projeto Dashcode personalizado que inclui os arquivos necessários.É altamente modular.Ele ainda permitirá que você compile seu JavaScript, HTML e CSS em um aplicativo instalável, se desejar.

http://sourceforge.net/projects/quickconnect/

Para mais informações você pode consultar http://tetontech.wordpress.com

Experimente o iwebkit

http://iwebkit.net

Aqui está uma demonstração:

http://m.iwebkit.net

Esse visual bom, mas infelizmente está sendo licenciado sob GPLv3, então estou com um pouco de medo de começar a olhar esse código.A estrutura que preciso encontrar, ou desenvolver, se necessário, deve poder ser usada como parte de um programa comercial, sem ter que licenciar todo o programa de forma diferente.Bibliotecas comerciais estão bem, só não encontrei nenhuma que possa demonstrar ainda, provavelmente porque eu poderia roubar todo o código se quisesse.

Acho que vou procurar mais, obrigado pelo link.

Editar:Esclarecimento.Eu ficaria bem com o requisito de compartilhar a fonte com a parte da estrutura da web para o iPhone, se alguém quisesse, mas como essa estrutura é toda fonte, temo que incorporar partes dela em um aplicativo da web existente (para faça um pele para iPhone), eu estaria responsabilizando todo o aplicativo web pela licença GPL, o que está totalmente fora de questão.Mesmo compartilhar todos os arquivos relacionados às páginas do iPhone está fora de questão, pois conterão código proprietário.

Tenho brincado com o iUI e acho que é muito bom, mas, para ser sincero, não olhei para o modelo de licenciamento, então não tenho ideia do que seja.É muito simples e direto e funciona bem com ASP.NET MVC.

Confira iWebkit6.Porém, funciona apenas no iOS 5 :(.

ATUALIZAR

Você também pode usar saurik.Ele não possui todos os recursos que você disse que queria, mas tentarei ver como implementá-los.Além disso, você disse que queria desenvolver isso.Para uma demonstração (saurik retirou a parte boa do cydia.saurik.com), você pode usar meu no meu outro site.Para evitar a transferência de todas essas imagens, basta adicionar isto no cabeçalho:

<link rel="stylesheet" type="text/css" href="http://cache.saurik.com/menes/style.css" />

além disso, adicione isto ao seu CSS:

body > panel > fieldset > div > a: hover {
background-image: url('menutouched.png')
}

menutouched.png está aqui:

Esta função em js desliza a página.É do projeto iUI de Joe Hewitt:

function swipePage(fromPage, toPage, backwards)
{
toPage.style.left = “100%”;
toPage.setAttribute(“selected”, “true”);
scrollTo(0, 1);
var percent = 100;
var timer = setInterval(function()
{
percent += animateX;
if (percent <= 0)
{
percent = 0;
fromPage.removeAttribute("selected");
clearInterval(timer);
}
fromPage.style.left = (backwards ? (100-percent) : (percent-100)) + "%";
toPage.style.left = (backwards ? -percent : percent) + "%";
}, animateInterval);
}

Para carregar a próxima página, você poderia tentar algo como executar um janela.localização com um atraso.O momento depende de você.

Você também precisar para adicionar isso ao seu CSS:

body {
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-user-select: none;
-webkit-text-size-adjust: none;
-webkit-touch-callout: none;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top