Moderadores: 51, guest2003, Renie, gpenga
Marcelo Samsoniuk escreveu:ok, para mostrar que eu nao guardo rancores vou ateh abrir a possibilidade de reimplementar um projeto meu em java!
eu tenho um software relativamente simples feito em C cuja unica funcionalidade eh abrir um arquivo S19 e descarregar ele pela serial para um HC908. atualmente eu rodo ele apenas no linux, gostaria de rodar ele tambem no windows e, eventualmente, adicionar funcionalidades graficas que eu vi em outro software similar, que alem da capacidade de descarregar software pela serial (para um DSP 320LF240x), implementar tambem um emulador de terminal texto e um scope.
eh possivel fazer facil em java ? eu andei estudando a possibilidade de usar um xterm para isso no linux, pois ele emula tanto o vt220 para texto quanto o tektronix 4014 para graficos, mas continuaria restrito ao linux, gostaria de uma alternativa para windows.
uma preocupacao minha: nao gostaria de obrigar o usuario a ter que baixar uma nova jvm inteira tamanho gigante! seria possivel usar a capacidade java jah disponivel nos browsers ? supostamente sao todos compativeis entre si e suportam todas as funcionalidades necessarias para o que eu preciso, nao eh ?
Paulo escreveu:
Marcelo,
Com relação ao usuário não precisar baixar uma nova JVM, vc pode fazer a sua aplicação em Java e colocar junto com a sua aplicação uma JVM e configurar a sua aplicação para rodar a partir da sua JVM, dessa forma o usuário não necessita baixar uma JVM e nem ter uma instalada.
Quando vc gerar o instalador da sua aplicação vc embarca a JVM junto.
Não sei se isso te ajuda, espero que sim.
Até +...
Paulo D.
polesapart escreveu:Paulo escreveu:
Marcelo,
Com relação ao usuário não precisar baixar uma nova JVM, vc pode fazer a sua aplicação em Java e colocar junto com a sua aplicação uma JVM e configurar a sua aplicação para rodar a partir da sua JVM, dessa forma o usuário não necessita baixar uma JVM e nem ter uma instalada.
Quando vc gerar o instalador da sua aplicação vc embarca a JVM junto.
Não sei se isso te ajuda, espero que sim.
Até +...
Paulo D.
Aí ele teria que embarcar uma jre pra windows, outra pra linux, e eventualmente outra pra outra coisa. Se for exclusivamente distribuir em CD não vejo problemas, mas não rola fazer um pacotão pra baixar pela internet. É o calcanhar de aquiles de muitos programas em java hj em dia, pq as opções mais "amigáveis ao usuário" são embutir a jre e auto-instalar, ou tentar ensinar até toupeiras a baixar e instalar a jre do site.
The 'Sojourner' rover has only a single CPU used in its operation. The computer is an 80C85 with a 2MHz clock rated at 100KIPS. It can address 64K of memory. The computer uses, in a 16Kbyte page swapping fashion, the memory provided in 4 different chip types:
Size (Kbytes) Type Function
16 PROM, Harris 6617 Boot code and 'Rover-Lite' backup code
64 RAM, IBM 2586 Main memory
176 5, SEEQ 28C256 32Kbyte chips Programs, patches and nonvolatile data storage
512 Micron MT1008 RAM Temporary data storage
R> The only reason I brought that up is because one of my editors said, Oh look, they have Java on this thing.
P> Oh, Java. Well, we have Java in the ground system not onboard the spacecraft.
R> Right. That's what it's starting to sound like.
P> That's right. Yeah. The spacecraft software is entirely in C.
R> C? Really? That surprises me a little bit.
P> Yes. It's entirely in C.
R> I thought Lockheed Martin was a big Ada shop for this sort of thing.
P> Ada is used largely in military applications, but JPL at any rate has moved away from Ada. Cassini, I believe, would be the last JPL mission that used Ada. And that was largely due to the success of the Mars Pathfinder in the mid-nineties. And as I said, these missions are to a large extent all derived from Mars Pathfinder.
R> After that successful mission, you say, Hey, we could do it in C now. That's not as scary as everybody thought?
P> Yeah. Right. And we've been running VxWorks as our real-time operating system. I believe they all run VxWorks. I couldn't speak for some of — let's see. We've been branching out in contractors a little bit. I believe — you know what? I'm not sure what Ball Aerospace is using in their spacecraft. And I am not sure what Orbital Science is using in their spacecraft. But the Lockheed Martin line does use VxWorks as the operating system. In addition to the six Mars missions we mentioned, we've done another half a dozen Lockheed Martin missions over the last 12-15 years.
chipselect escreveu:Marcelo
Vc está utilizando Java RTS?
xultz escreveu:Marcelo, achei a idéia horrível. Na minha humilde e cretina opinião,é muito melhor gravar o micro a partir do makefile do que através de uma interface gráfica, pior ainda em Java.
Putz, falei mal do java, eu sou mais um na lista das pessoas que o chun odeia agora...
Marcelo Samsoniuk escreveu:chipselect escreveu:Marcelo
Vc está utilizando Java RTS?
precisa ser um java especial para ter acesso a porta serial ? para mim seria melhor se rodasse com o java do browser, afinal toda maquina que tem interface grafica tem um browser com java!
ivan escreveu:Calculando... 128 - 90 = 38 MB. Hummm.....
É claro, ainda existem não satisfeitos:
Java Ring
http://www.javaworld.com/javaworld/jw-0 ... vadev.html
iButton
http://digilander.libero.it/fabrob/java ... ngfaq.html
A JVM, que muitos críticos vêem como problema, na verdade é o pilar de uma plataforma de desenvolvimento, pois Java não é apenas uma linguagem.
A portabilidade de código "Ready 2 RUN" realmente existe, desde que não seja na GUI/UI.
Suponha que exista uma aplicação de acompanhamento de atendimentos de manutenção(helpdesk). Os usuários fazem as solicitações de atendimento via internet. O técnico de manutenção recebe as novas solicitações de atendimento no seu celular durante o dia-a-dia do trabalho e retorna as atualizações para o site.
Excluindo a interface com o usuário, uma vez construido o site, todas as classes necessárias a aplicação web são candidatas a serem utilizadas "as is" no celular, sem recompilação, com códigos já devidamente testados e aprovados, economizando tempo de desenvolvimento e dinheiro/investimento, graças a JVM!
Ah! O acesso aos dados... Bem, criando-se classes genéricas de acesso aos dados o resto é aplicar herança. (QQ linguagem com suporte OO faz!)
Em suma, de uma nova aplicação para um outro dispositivo escreve-se a especialização do acesso aos dados e a UI. Talvez, de 30% a 40% da aplicação para celular. (Isso não "c" consegue com outras plataformas)
Ainda, a aplicação teria que usar como BDs no servidor, pois o cliente queria vendê-la tb:
Oracle, MySql, Postgress além do SQL Server. (Hibernate salva!)
Ja sei! Isto é uma aplicação simples!
Depende... Se para a seleção do técnico que realizará o atendimento os critérios forem:
- a melhor aptidão técnica,
- a melhor rota e
- o escalonamento dos atendimentos para serem executados no menor tempo.
- E caso os atendimentos fiquem muito concentrados em um grupo de técnicos devido a sua especialização, o sistema poderia sugerir treinamentos para a requalificação do grupo remanescente. (Não é o caso de "c" preocupar com desempenho, alguns segundos para um acesso a internet é tolerável. Mas, para os purístas, ainda posso recorrer ao C/C++ se o desempenho ficar crítico JNI-Java Native Interface.)
Aí a coisa começa a ficar interessante...
Com Java alcanço todos os requisitos do projeto e, ainda, estabeleço o menor prazo de entrega do produto. (Obrigado JVM!)
Consigo fazer em C?
Claro! Os prazos de entrega serão maiores ou então aumento a equipe de desenvolvimento e consumo parte dos recur$o$ a receber, o preço cobrado tende a ser maior tb.
Para usar C na Web, usaria CGI, onde cada conexão se traduz em um novo processo com todo o overhead oriundo da criação de processos. Teria que escolher um servidor com capacidade maior tb. (Com Java x Web, cada conexão cria uma nova "thread". O overhead de criar "processos x thread" não é coisa pra "leigos", logo no "posso" explicá-las)
Por isso, quem propuser Java para um cenário semelhante terá mais chance de superar os concorrentes em Preço e Prazo.
Não se esqueçam! Na minha solução proposta o C entra na JVM(Hu, hu!) e, somente se necessário, na parte AI.
Ou seja, linguagens? Plataformas de desenvolvimento?
Cada uma no seu quadrado! Pois são apenas ferramentas de trabalho.
OBS: GUI em Java e pior que escrever com MFC!
polesapart escreveu:Marcelo Samsoniuk escreveu:chipselect escreveu:Marcelo
Vc está utilizando Java RTS?
precisa ser um java especial para ter acesso a porta serial ? para mim seria melhor se rodasse com o java do browser, afinal toda maquina que tem interface grafica tem um browser com java!
Ocorre o seguinte: no java tem os tais security profiles. No browser teu aplicativo (applet) roda como "intruso miseravel sem acesso a nada", a menos que ele tenha uma assinatura digital e que o usuario concorde pelo menos uma vez em deixar o bicho rodar como "intruso com permissoes totais".
Quando voce roda um aplicativo java fora do browser, o controlador de segurança costuma permitir por padrao acesso ao sistema de arquivos e coisas relacionadas, o que em geral inclui a serial.
Aí vem o truque: uma applet que acesse a porta serial pode ser feita, mas eu particularmente nao conheço uma forma gratuíta ou de baixo custo de obter uma assinatura digital de uma das empresas certificadoras aceitas pelos browsers (ou melhor, pela jvm) como confiaveis.
No netscape 4 tinha como a applet pedir ao usuario que confirmasse um dialogo mais ou menos como "eu aceito que esta applet suspeita acesse os recursos", nao sei se no mozilla isto ainda é assim, mas até a ultima vez que testei no internet exploder ele nao deixava uma applet anonima rodar com privilegios de jeito nenhum.
Questao de procurar por ai.
A api java para acessar a porta serial existe desde os tempos do netscape entao certamente nao vai ser este o problema, hehe.
Voltar para Linux ( x86 ou x64 )
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante