Harbour + Android uma realidade!

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Harbour + Android uma realidade!

Mensagem por janio »

A diferença entre mobile x web eh galática, e a compreensão disso mostra o quão em campos opostos estamos.

Mas sem encompridar a conversa, até pq quem está com a necessidade real de fato em desenvolver algo mobile, já deu pra entender.

Vamos apenas pegar um caso prático que todo mundo consegue entender:
Se mobile e web fossem a mesma coisa (em termos de programação), pq qual motivo, razão ou circunstância (tô parecendo o professor Girafales kkk), as pessoas e empresas passariam horas, dias, semanas, meses e anos estudando, desenvolvendo e testando uma aplicação "nativa" mobile, se ele poderia economizar todo esse tempo, recursos e dinheiro dizendo simplesmente para a pessoa: "Abre o navegador e digita www.bb.com.br"???? Pq será que o Banco do Brasil mobiliza certamente dezenas de programadores quando ele poderia dizer pra todo mundo usar o navegador?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour + Android uma realidade!

Mensagem por Itamar M. Lins Jr. »

Ola!
Olha ai uma app web (para qualquer coisa)

http://www.advproc.cf/

Usuário: Pctoledo
Senha: pctoledo

É um estudo que faço.(Harbour/Html5+CSS+Javascript)
Montei um servido na nuvem (gcloud), criei um dominio(freenom) e liguei lá no cloudfire!
Está rodando em uma maquina virtual(instancia) Unbuntu 19 no gcloud.
Posso fazer a mesma coisa usando Windows, uma plaicação inteira ERP colocar lá no gcloud em uma VM(win10 conteiner) e acessar via RDP, já testei aqui com Remmina(linux) roda a mesma coisa, onde estiver meus servidores, estarão lá ;)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

Harbour + Android uma realidade!

Mensagem por MSDN »

Existe diferença, claro, o sistema operacional Android que utiliza o Linux como base, tem a sua API, assim como Windows tem a sua, e um aplicativo WEB, ele não se prende em API's, e sim em comandos universais que qualquer navegador para a Internet utiliza, que seria HTML e JavaScript, então, se vc tem uma aplicação WEB que foi pensada de forma RESPONSIVA, vai funcionar em qualquer navegador para a internet, seja ele usado no Android, Ios, Windows, BeoS, Linux, etc, e para muitos casos, ele serve muito bem para ser usado em um dispositivo mobile, é perfeito, é leve e com um código somente funciona em uma infinidade de lugares, PORÉM...certas atividades precisam de maior precisão, segurança, interação, etc, e só conseguem acessar a API dos dispositivos móveis ( Android e Ios ) através de linguagens específicas voltadas para a programação mobile, o que seria o caso de Flutter para Android e Objective C para Ios, por isso o BB e todos os outros bancos, além de ter sua plataforma WEB, tem a MOBILE tbem, além do que, se vc quiser ter um APP na loja do Android ou do Ios, é obrigado a seguir certas regras.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour + Android uma realidade!

Mensagem por Itamar M. Lins Jr. »

Ola!
Motivos, devem existir. (usar recursos do smartphone) monitorar a vida da pessoa.
Uma aplicação mal intencionada, grava até o que vc está falando, liga a câmera do celular por exemplo...
Mas o facebook roda sem precisar instalar o .apk, os motivos deles disponibilizar uma .apk é que ela roda em segundo plano.
Instale ai o terminal no seu smartphone e digita o comando "top", só para ver a bagaceira do facebook.apk e instagran.apk consumindo a memória e CPU toda rsrsrs... Como que chega as mensagens no WhatsApp por exemplo ? Ele fica monitorando a porta TCP 5222/5223 se tem msg o tempo todo...
Assim faz o facebooklite.apk, e outros tantos...

No caso se não tiver internet, como é que a pessoa vai gravar o pedido ? Uma aplicação .apk tem suas finalidades.
Mas isso também podemos fazer com html+css+javascript usando a WEBKIT do Android (veja o caso do PhoneGab) https://phonegap.com
Gera .apk da mesma forma, grava, no banco SQLITE e depois quando tiver online é só enviar.

Deslique a internet e o Whatsapp e Facebooklite, já era.
Já uma .APK de pedidos vai funcionar... cada qual tem seus interesses.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour + Android uma realidade!

Mensagem por Itamar M. Lins Jr. »

Ola!
Olha só o código da pagina de login! É .PRG viu! tá ai rodando no seu MOBILE!

Código: Selecionar todos

#!/usr/local/bin/hbrun
REQUEST HB_CODEPAGE_UTF8 
REQUEST DBFCDX, DBFFPT
MemVar cIdUsuario, cUsuario, cSenha, cLogon, cManutencao
         
#xcommand TEXT TO VAR <var> => #pragma __stream|<var>:=%s
           
#xcommand ENDTEXT => #pragma __endtext

Function LoginMain(...)
LOCAL cEOL := + hb_eol() + hb_eol(), cHtml, lShared := .F., lIncluir := .T.
LOCAL cTxt := "", cOrd, cUs, cRet
PRIVATE cIdUsuario, cUsuario, cSenha, cLogon := "", cManutencao:=""

RddSetDefault("DBFCDX")
Set autopen On
hb_cdpSelect( "UTF8" )

cHtml := 'Content-type: text/html' + cEOL 
cHtml += '<!DOCTYPE html>' + hb_eol() 
cHtml += '<html>' + hb_eol() 
cHtml += '<head>' + hb_eol() 
cHtml += '<meta charset="UTF-8"/></head><body>' + hb_eol()

/*Pegar variaveis*/
PegaVar()

IF empty(cUsuario)
   Return ErrorHTML( "Informe o nome do usuário. - "  )  //retorna empty para "U" tambem
ENDIF
IF empty(cSenha)
   Return ErrorHTML( "Informe a senha." ) 
ENDIF

if hb_vfExists('usuarios.dbf')
else
   cRet := CriaStruUsuarios() 
   if len(cRet) > 0
      return outstd(cRet)
   endif
   cRet := ordena_Usuarios()
   if len(cRet) > 0   
      return outstd(cRet)
   Endif
   OutStd( 'Content-type: text/html' + cEOL )
   cHtml := hb_memoread('../html/usuario.html') 
   OutStd( cHtml )
   Return ""
endif

IF !AbreDb('usuarios.dbf','us',lShared)
   Return ErrorHTML( "Erro abrindo arquivo: usuarios.dbf" ) 
ENDIF

cOrd := us->(OrdSetFocus(1)) //nome
IF us->(DbSeeK(cUsuario))
   IF alltrim(cSenha) == alltrim(us->senha)
       TravaRegistro('us')
       us->logado := .T.
       us->entrada := date()     
       NetFlush('us')
       cLogon :=  HB_TTOC(us->dialog,"DD/MM/YYYY","HH:MM:SS.fff") //HB_TSTOSTR( us->dialog )
       cIdUsuario := hb_ntos(us->idusuario)
       cUsuario := alltrim(us->nome)
       IF cManutencao="on"
          Return opcoes()
       ELSE
          Return ChamaTelaPrincipal() //(cIdUsuario,cUsuario,cSenha)
       ENDIF
       //cTxt := [ <meta http-equiv="refresh" content="0;URL=/opcoes.html"> ]
   ELSE
      Return ErrorHTML( "Senha incorreta." ) 
   ENDIF
ELSE

   cUs := ""
   us->(DbGotop())
   Do while us->(!eof())
    cUs += us->nome + "<br>"
    us->(DbSkip())
   EndDo
   
   Return ErrorHTML( "Usuário não cadastrado: " + cUsuario + " --- " + str(len(cUsuario)) + "<br>" + cUS )
   
ENDIF

cHtml += cTxt + '</body></html>'

FechaDb('us')

Return OutStd(cHtml)

***************************
Function ChamaTelaPrincipal
***************************
*
*
LOCAL cHtml, cEOL := hb_eol() + hb_eol()

OutStd("Content-type: text/html" + cEOL )

TEXT TO VAR cHtml

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>Sistema SCADV</title>

    <script type="text/javascript">
    $(function(){
        window.location.href = $('.className').attr('href');
    });
    </script>
    
</head>
<body>

<form method="POST" action="/cgi-bin/TelaPrincipal.prg" >
    <input type="hidden" name="cIdUsuario" value="&cIdUsuario" />
    <input type="hidden" name="cUsuario" value="&cUsuario" />
    <a id="vai"href="javascript:document.querySelector('form').submit();">Clientes</a>
</form>

 <script>
    document.getElementById("vai").click()
 </script>

<!-- onclick="document.getElementById('vai').click();return false;" -->

<h2>Logon:&cLogon</h2>
</body>
</html>

EndText

Return OutStd(cHtml)

Function Opcoes
LOCAL cHtml, cEOL := hb_eol() + hb_eol()

OutStd("Content-type: text/html" + cEOL )

TEXT TO VAR cHtml

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>Sistema SCADV</title>
</head>
<body>
<form method="POST" action="/cgi-bin/TelaPrincipal.prg">
<ul id="nav"> 
    <input type="hidden" name="cIdUsuario" value="&cIdUsuario" />
    <input type="hidden" name="cUsuario" value="&cUsuario" />
    <li><a href="javascript:document.querySelector('form').submit();">Clientes</a>
    <li><a href="#">Procurar Clientes</a></li> 
    <li><a href="#">Listar Clientes</a> 
      <ul> 
        <li><a href="usuario.html">Cadastrar Usuários</a></li> 
        <li><a href="CriaEstruturaDBF.prg">Criar Base de Dados</a></li> 
      </ul> 
    </li>
 
    <li><a href="#">Contato</a></li> 
</ul></form>
<h2>Logon:&cLogon</h2>
</body>
</html>

EndText

Return OutStd(cHtml)

SET PROCEDURE TO "funcoes.prg"
SET PROCEDURE TO "CriaEstruturaDBF.prg"
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

Harbour + Android uma realidade!

Mensagem por MSDN »

Itamar, se vc reparar bem, as 2 primeiras postagens suas eu curti, e só escrevi minha postagem para contribuir com informação justa e correta, mas lendo as tuas duas últimas postagens, a impressão que dá não é que vc diverge ou não entende certos conceitos, mas que tem raiva do Facebook e do Whatsapp ou qualquer APP semelhante, a questão da "espionagem", isso é fato, público e notório, só morando numa caverna e olhe lá para ter privacidade, é só saber jogar o jogo, mais nada, então não acho justo levar a discussão para esse lado, que só confunde a cabeça de quem ainda tem dúvidas.
PS : válido o teu exemplo, mas estude sobre UI/UX.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour + Android uma realidade!

Mensagem por Itamar M. Lins Jr. »

Ola!
mas que tem raiva do Facebook e do Whatsapp ou qualquer APP semelhante
Tenho não, estava respondendo a pergunta do Janio. Porquê das .apks! São programas que ficam no nosso celular, rodando serviços que desconhecemos, a nossa revelia.
Meu cel é um Motorola G1, e já li em algum lugar que os desenvolvedores colocam códigos maliciosos para forçar a compra por novos.( o meu tá bem lento) deve ser alguma .apk que instalei, o instagram eu removi ficou melhor, pelo comando "top" (terminal) eu vi que ele fica baixando fotos etc...
Eu moro em lugar que não tinha internet, era CDMA a tecnologia...
mas estude sobre UI/UX.
Então é isso, são estudos que faço, não está nada pronto ai. Não sou Designer, peguei esses códigos HTML+CSS na internet, só para aprender.
Esses códigos eu escrevo na mão grande! Errando e aprendendo.

Não tenho trauma com tecnologia, nem com essas coisas novas sou aquariano. ;)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour + Android uma realidade!

Mensagem por JoséQuintas »

O que o Jânio disse tem sentido, mas ele não soube explicar.

- aplicativo que rode no computador, sem precisar de internet
- aplicativo que rode no celular, sem precisar de internet
- aplicativo que rode na internet, que pode exigir recursos locais

Aqui é Brasil, e aqui nem tudo funciona:
tem bairro onde um celular pega e outro não.
Trabalhar off-line, só usando aplicativo específico pro computador/celular.

Hoje fiquei sem internet.
Pra passar o tempo, ia montar quebra-cabeças, o jig-saw da Microsoft.
Put. que par... joguinho grátis, instalado no computador, e não poder usar porque não tem internet, porque aquela bost. precisa confirmar o tempo, pra ver se precisa rodar propaganda.

Talvez joguinhos do DOS façam mais sucesso daqui pra frente....

Hummmmm.... tá explicado porque tanta coisa contra o flash player.... a grande maioria dos jogos em flashplayer rodam em qualquer plataforma, e até sem internet.... Se permitir flashplayer nem google nem Microsoft podem passar propaganda obrigatória....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour + Android uma realidade!

Mensagem por Itamar M. Lins Jr. »

Ola!
O que o Jânio disse tem sentido, mas ele não soube explicar.
Sim, lógico e o Dr. Souto me passou um link de como empacotar os códigos Html+CSS+Javascript para criar uma apk, quando me queixei que não sabia ou pensava que não tinha essa opção.
Mas isso não invalida o uso (apenas) quando houver sinal. No caso como estou usando.
WEB é ṕara todos os dispositivos, desktop, mobile... Não vamos fazer confusão com isso.
Eu tenho esse livro:
https://www.americanas.com.br/produto/111052639 Velhinho... comprei em 2015 eu acho. Me esclareceu muita coisa.
Lendo o Capitulo 16, tem o seguinte:
Mas o Android SDK não é o único modo de construir e "entregar" aplicativos para a plataforma Android. Com a emergência de recursos acessíveis e poderosos nos navegadores móveis, agora é possível desenvolver aplicativos para a plataforma Android com tecnologias web, como Html, CSS e javascript...
16.1 O que é o desenvolvimento web Android ?
O que quero dizer nessa conversa é o seguinte, Android é JAVA + HTML + CSS + Javascript e XMLs a rodo, e qualquer coisa que faça uma aplicação para essa plataforma, pode ser feita até com um Clipper Summer, e o clipper terá que converter o código para essas citadas. Para dai serem compiladas pelo SDK. XMLs com requisições ás "Intents" via AndroidManifest.xml com as LIGAÇÕES etc e tals...Tem que entender de COMO funciona a plataforma Android, para depois com qualquer linguagem, mudar para o SDK "entender", compilar e gerar o pacote apk.

Duvido se a Windev gera uma .apk sem uso do SDK. Seria a mesma coisa que reinventar a roda, ainda por cima para concorrer com o próprio dono da plataforma.
Por isso no Harbour quando vamos mexer na parte "for Android", fica essa "dificulidade" toda. O Harbour está pronto para o Linux no qual o android roda, não tem nada para a plataforma Android, essa também foi uma confusão que fiz... Mas tô aprendendo...;)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour + Android uma realidade!

Mensagem por Itamar M. Lins Jr. »

Ola!
Aprendendo sobre UI x UX. Gostei muito!
https://www.raffcom.com.br/blog/qual-a- ... e-ux-e-ui/
Também pode explicar mais para o Janio, a impossibilidade de comparar Mobile(móvel/mobilidade) com WEB, não faz sentido comparar.
WEB não é uma aplicação na internet, para computadores desktop, pode ser para qualquer coisa. Até sem monitor e teclado, telas etc... "GPS" seria um caso. Monitoramento cardíaco, etc... não precisa de teclado, basta colocar o aparelho e via WEB ele manda os dados... Uma WebCan em uma praia, por exemplo, não tem nada, só manda as imagens para algum lugar na WEB.

Imagem

Essa imagem explica com é complexo esse assunto.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Harbour + Android uma realidade!

Mensagem por microvolution »

Itamar M. Lins Jr. escreveu:Olha só o código da pagina de login!
achei muito interessante.
Nobres, boa noite!
Itamar, eu queria algo assim, que o funcionário da empresa pudesse realizar as vendas via celular dele, ou seja, numa forma de intranet, quando o usuário entrasse o atalho ele rodasse a tela de vendas, como se estivesse no desktop... e fosse possível até ler o código de barras padrão EAN13 para fazer a venda. Ao finalizar imprimisse normalmente numa das impressoras de algum computador da rede.

Será que isso é possível?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
RobertoLinux
Usuário Nível 3
Usuário Nível 3
Mensagens: 110
Registrado em: 14 Abr 2014 18:32
Localização: Fortaleza/Ce

Harbour + Android uma realidade!

Mensagem por RobertoLinux »

Saudações e boa tarde.

Se for usar RDP encontrei isso ...

http://c-nergy.be/blog/?p=11868

Luz e Paz!
Entusiasta
Responder