xibless

Tela Software:
xibless
Detalhes de Software:
Versão: 0.5.0
Data de upload: 20 Feb 15
Revelador: Virgil Dupras
Licença: Livre
Popularidade: 6

Rating: 1.0/5 (Total Votes: 1)

xibless é uma biblioteca Python que gera código Objective-C que constrói Cocoa UIs. & Nbsp; O objetivo desta biblioteca é substituir XIBs no Xcode e, se você quiser, se livrar de XCode completamente.
Com xibless, ao invés de projetar UIs com um editor WYSIWYG, você construí-los em um script Python, à semelhança do que você faz quando você construir Qt UIs sem o Designer. Por exemplo, um script como este:
result = Janela (200, 200, 330, 110, "Diga-me seu nome!")
nameLabel = Rótulo (resultado, text = "Name:")
nameField = TextField (resultado, text = "")
helloLabel = Rótulo (resultado, text = "")
botão = Button (resultado, title = "Diga Olá")
nameLabel.width = 45
nameLabel.packToCorner (Pack.UpperLeft)
nameField.packRelativeTo (nameLabel, Pack.Right, Pack.Middle)
nameField.fill (Pack.Right)
helloLabel.packRelativeTo (nameLabel, Pack.Below, Pack.Left)
helloLabel.fill (Pack.Right)
button.packRelativeTo (helloLabel, Pack.Below, Pack.Right)
nameField.setAnchor (Pack.UpperLeft, growX = True)
helloLabel.setAnchor (Pack.UpperLeft, growX = True)
button.setAnchor (Pack.UpperRight)
geraria código Objective-C que construir um formulário com um campo de nome, um rótulo de texto e um botão. A segunda parte do roteiro coloca os widgets na forma adequada.
Embora xibless é escrito em Python, o código Objective-C que gera não tem nenhuma dependência Python, então esta ferramenta é adequado para qualquer desenvolvedor de cacau.
xibless funciona em Python 2.7 ou superior. Isto significa que se você está no OS X 10.7 ou mais recente, você pode usar o built-in Python. Caso contrário, você vai ter que instalar uma versão mais recente do Python.
Por xibless?
Para muitas pessoas XCode e sua integrado construtor de interface excelente trabalho e para ser justo, XCode é uma boa ferramenta. No entanto, tem falhas, na maior parte apenas aborrecimentos, mas ainda assim, depois de um tempo, se tornam incômodos ... chato. Por exemplo, quando um XIB UI atinge um determinado nível de complexidade, nunca se sabe, ao fazer pequenas atualizações, se você por engano errei outra coisa. Porque cada alteração, por menor que seja, muda de uma grande parte do arquivo XIB, você não pode dizer no diff se a modificação que você fez foi exclusivamente o que você queria fazer. Há também XIB localização, com sua localização one-xib-copy-per-, que não seja o ideal, mas difícil de contornar. Enfim, eu não estou indo para tentar convencê-lo. Se você ainda não quer se livrar do Xcode e / ou XIBs, você provavelmente não precisa xibless.
Instalação
Você pode instalar xibless através pip:
pip instalar xibless
ou fazendo o download do pacote de origem e em execução:
python setup.py instalar
Para construir as demos na pasta demos, cd para ele e digite:
./waf configure
./waf
O aplicativo resultante será na pasta de compilação.
Uso
xibless pode ser usado tanto na linha de comando ou através de Python. Para usá-lo a partir da linha de comando, digite:
xibless
origem é o caminho do módulo Python que você escreveu que descreve a UI você quer construir. dest é o caminho que você quer que seu arquivo resultante Objective-C para ser escrito em. Para usar xibless diretamente do Python, o uso é semelhante:
xibless importação
xibless.generate (origem, destino)
Agora, tudo isso é que gera código UI. xibless não tem, ainda, qualquer solução integrada para permitir que você facilmente construir um programa de XCode menos. No entanto, o que você pode fazer é olhar para as demos pasta e se basear-se nesses demos (que são completamente-XCode menos) para construir o seu próprio projeto.
Desenvolvimento da Primeira
xibless está em desenvolvimento desde muito cedo e não há nenhuma documentação da API ainda. Por agora, você vai ter que descobrir isso API dos demos e cavando diretamente na fonte. Além disso, observe que esta API poderia descontroladamente mudar antes v1.0.
Além disso, o número de arestas no momento são incalculáveis. Não há mensagem de erro para os scripts de interface do usuário inválidos, por isso pode ser muito difícil, por agora, para descobrir por que seus scripts não funcionam.
Oh, sim, e vazamentos de memória, há toneladas deles

O que é novo nesta versão:.

  • Adicionado VHLayout.
  • Adicionado Box.
  • Em View, delegado acrescentou, fixedHeight, FixedWidth e accessibilityDescription atributos, bem como moveTo () (a versão mais poderosa do packToCorner ()) e fillAll () métodos.
  • No Segmento, acrescentou imagem e atributos accessibilityDescription.
  • Adicionado SplitView.dividerStyle e acrescentou documentação para uma hierarquia de exibição de divisão direta.
  • Adicionado TableView.borderType e View.focusRingType.
  • Adicionado Button.bordered
  • Adicionado MenuItem.state
  • Adicionado TabView.tabViewType.
  • Adicionado TextField.usesSingleLineMode.
  • Adicionado margem e alinhar argumentos para layouts.
  • Deprecated View.packToCorner ().
  • Layouts agora pode conter sublayouts.
  • Permitir a cores () para receber os valores no intervalo de 0-255, em adição a 0.0-1.0.
  • Não traduzir textos apenas & quot contendo; - & quot; (Eles são usados ​​para indicar um item de menu separador).
  • altura 'RadioButtons agora depende do número de linhas que tem.
  • Fixo enchimento redimensionamento em layouts em casos em que há outros pontos de vista ao lado do enchimento.
  • Permitir que os scripts de UI para as unidades que são da mesma pasta importar.
  • Substituído Button.keyEquivalent com Button.shortcut.
  • runtemplate fixo para que a unidade XiblessSupport é compilado no executável RunUI.
  • Corrigido um bug em que, às vezes, acaba com dois itens gerado com o mesmo nomevar.
  • Sempre definir growX / growY para False em setAnchor () para pontos de vista que têm uma largura / altura fixa.
  • O & quot; text & quot; argumento do construtor do TextField agora é opcional.
  • lados de suporte e meio em View.setAnchor ().
  • unidades gerados têm agora um comentário indicando o tempo de geração e versão xibless.
  • Movido TextField.alignment para baixo para controlar
  • copiar Apenas unidade XiblessSupport quando mudou, evitando assim a recompilação desnecessária.
  • Fixo deltas de layout do TabView para casos onde não há guias.
  • Atalhos de apoio que envolvem o caráter '+'.
  • margens padrão aprimorados em layouts, alturas de controle e todos os outros pequenos ajustes desse tipo.

O que é novo na versão 0.4.1:.

  • Adicionado NLSTR a scripts UI namespace
  • Não enrole Window.autosaveName em chamadas de localização.
  • Corrigido um bug que causava algumas cordas para não ser envolvido em chamadas de localização.
  • quot de Set & RadioButton; autosizesCells & quot; como True na criação.

O que é novo na versão 0.4.0:

  • Painel acrescentou, SplitView, OutlineView, ListView, Toolbar , SegmentedControl, searchField, Slider e NumberFormatter.
  • Adicionado Layouts.
  • Adicionado suporte para muitos, muitos, muitos novos atributos, constantes e tipos.
  • Agora gera um & quot; .h & quot; para ir junto com a unidade gerado.
  • Adicionado imóvel e suas subclasses, uma maneira mais fácil para adicionar suporte para novos atributos, mesmo os mais complexos.
  • Agora é possível substituir as margens em chamadas de método layout.
  • Adicionado suporte para ligações com o método novo View.bind ().
  • Adicionado a variável global de novos padrões, que pode ser usado para ligar para os padrões do usuário.
  • Constantes acessados ​​com const pode agora ser OR bit a bit-ed.
  • código gerado é agora formatado para olhar um pouco melhor e ser mais fácil de depurar.
  • Adicionado novas constantes para atalhos do menu de teclas especiais (setas, insira etc.).
  • Adicionado suporte para argumentos de script UI.

O que é novo na versão 0.3.1:

  • empurrado para baixo o atributo action do botão para controlar.
  • RadioButtons agora é uma subclasse de controle.
  • janela Feito recalcular seu loop vista depois de ter gerado seus filhos.

O que é novo na versão 0.3.0:

  • RadioButtons Adicionado, TableView, TabView, TextView, ImageView e ProgressIndicator.
  • Adicionado suporte para cadeia de localização.
  • Adicionado TextField.alignment e TextField.textColor.
  • Adicionado Button.keyEquivalent.
  • Adicionado canClose, CanResize e canMinimize à janela.
  • Adicionado uma subclasse de controle.
  • Veja agora podem ser diretamente instanciado em scripts de interface do usuário (São como & quot; Vistas personalizadas & quot; em IB).
  • xibless run agora pode ser executado no roteiro para que o resultado é uma View.
  • sistema de layout melhorado.
  • origem Janela agora é fornecido em termos de proporções tela ao invés de posições absolutas.
  • Fixo 'id' ownerclass na principal geração protótipo de função e acrescentou o & quot; ownerimport & quot; variável global no script de interface do usuário.
  • Fuja novas linhas em geração de código de cadeia.
  • documentação Adicionado para Button.buttonType e Button.bezelStyle e acrescentou uma demo de um botão com um estilo de moldura diferente.
  • Fixa os vazamentos de memória mais gritantes.
  • Corrigido um bug onde atributos como fontes padrão de nível de classe não seriam gerados ao gerar mais do que um script UI na mesma sessão python.
  • Windows não são liberados quando fechado por padrão.
  • Adicionado suporte para referências circulares (a janela de configuração de uma de suas propriedades para um item que exigia que a janela antes de ser criado, por exemplo, initialFirstResponder). Nós já não poderia gerar o código para essas ligações.
  • Feito o argumento align em View.packRelativeTo () opcional.

O que é novo na versão 0.2.0:

  • documentação Adicionado Sphinx
  • Adicionado o comando xibless corrida para previews UI rápidos.
  • Adicionado Combobox e Popup.

Requisitos :

  • Python

Outro software de desenvolvedor Virgil Dupras

pdfminer3k
pdfminer3k

20 Feb 15

pyflakes3k
pyflakes3k

20 Feb 15

Comentário para xibless

Comentários não encontrado
Adicionar comentário
Ligue imagens!