Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-includes/wp-db.php on line 3030
Deprecated: Creation of dynamic property Jetpack_Carousel::$localize_strings is deprecated in /home/inovacao/public_html/yeapf.com/wp/wp-content/plugins/jetpack/modules/carousel/jetpack-carousel.php on line 353

O Nirvana do programador
O nirvana de todo programador é quase com certeza ter um único código para ser utilizado em quantas plataformas seja possível. Isso tem muita vantagens, entre elas não limitar o campo de escolha do cliente e se preocupar uma única vez com o código.
Para eliminar discussão supérflua, já vou avisando que isso é virtualmente impossível já que diferentes plataformas atendem a diferentes requisitos e que é exatamente por isso que existem. Então em última analise sempre haverão pequenas nuances que só serão possíveis de serem executadas nesta ou naquela plataforma e não na outra.
Tem Javascript no seu futuro
Dito o obvio, vamos para o não tão obvio. Tal vez você não tenha reparado mas estamos andando a passos agigantados em direção a uma linguagem onipresente. Javascript está em todas as plataformas desde seu navegador até dispositivos embarcados, cada vez oferece maior performance e está cheio de livrarias e documentação para tudo quanto é lado. Em outras palavras: Mais tarde ou mais cedo, você vai ter que utilizar Javascript e alguma livraria para não morrer na tentativa.
A proposta do YeAPF é unificar o melhor dos dois mundos disponibilizando para o programador um conjunto de funções bem sedimentadas de ambos os lados sobre o qual ele possa construir seu aplicativo.
O exemplo
Decidi então construir um único exemplo em três estágios e com três aplicações diferentes utilizando o mesmo código em todo lugar que seja possível e quando não, mostrar o por que não pode e como sair dessa sem cair na insanidade.
Eis o mapa do monstro:
| Funcionalidade desenvolvida | |||
| Consulta os dados de uma cidade a partir do seu nome utilizando um datalist e um input | Fornece duas telas permitindo obter dados sobre idioma e uma lista de outas cidades similares clicando nas quais é possível voltar à primeira tela | Permite a edição de alguns dados da base para atualizar o nome do presidente, o PIB e a população por exemplo | |
| Web | web01 | web02 | web03 |
| Desktop | desktop01 | desktop02 | desktop03 |
| Mobile | mobile01 | mobile02 | mobile03 |
O leitor deste blog então, pode começar de cima para baixo e de esquerda para direita em cada um dos exemplos que irão aumentando de complexidade na medida em que caminhamos.
Caso o leitor já esteja acostumado pode ir direto ao que lhe interessa mas – como há algumas coisas novas sob o capô do YeAPF e os exemplos são minúsculos – não faria mal em dar uma olhada.
Os dados do exemplo
Para construir este exemplo, utilizamos o tradicional banco de dados world que a Finlândia disponibiliza e Microsoft, Oracle e outras utilizam nos seus treinamentos. Você mesmo pode fazer download aqui: http://dev.mysql.com/doc/index-other.html
Este banquinho que é antigo, por sinal, está composto de apenas três tabelas: City, Country e CountryLanguage mas com interações e dados suficientes como para tornar a pesquisa interessante.
A historinha triste deste post
Este post começou a ser escrito em 26 de Dezembro de 2014. Naquela época estavamos na versão 0.8.40. Atualmente (8 de Maio de 2019) estamos na 0.8.62 mas por conta da filosofia de compatibilidade reversa, o código é compatível e plenamente funcional.
Todavia por conta desse “lag” todos os posts estão sendo revisados.
Você precisa fazer login para comentar.