none
Duvida de iniciante RRS feed

  • Pergunta

  •  

    Olá amigos, sou novo nesse forum, tenho estudado a um tempo o C++, já consigo lidar legal com alguns códigos e alguns aplicativos, e estou com a seguinte dúvida, desculpem se eu estiver errado ou falando asneiras.

    Pretendo sair do modo console e partir para aplicativos com forms, tenho ouvido no .net, no entanto, ouví dizer que nessa plataforma, é possível a visualização do código, e seu funcionamento é parecido com o Java, onde precisa do netframework instalado funcionando como uma máquina virtual interpretando os códigos.

    Gostaria de saber se existe outro meio de eu montar meus formulários no C++ sem ter que depender de .net ou netframework, ou mesmo precisando do netframework, que pelo menos não tenha uma interface para interpretar os códigos como o Java, que o meu código trabalhasse compilado

    Se eu estiver errado ou fazendo mal juízo do .net, por favor me esclareçam, afinal não conheço essa plataforma.

    Estou optando pelo c++ pois alguns aplicativos feitos em java, me decepcionaram um pouco em questão de performace, e eu ví claramente que para o que eu pretendo o C++ sem dúvida é o que preciso. Se o visual studio e o .net necessitam de netframework para funcionar como uma interface como a JVM, julgo eu que estarei caindo no mesmo problema.

     

    Obrigado desde já.

    segunda-feira, 24 de novembro de 2008 22:41

Respostas

  •  Marcelo Developer wrote:

    Se eu compilar qualquer projeto que seje no visual studio, ele obrigatóriamente estará vinculado ao netframework? fis alguns aplicativos simples em modo console e todos necessitavam do netframework para rodar em outro computador que não tinha o Visual studio instalado, isso quer diser que todos eles estão rodando por essa máquina virtual?

     

    Minha intenção mesmo é fugir da "maquina virtual", e que meu código fique compilado não passando por ela, para que eu não perca em performace.

     

    Gostaria de saber como eu posso montar aplicativos com form sem usar o .net e a máquina virtual, é possível no Visual studio? qual o caminho?

     

    Olá Marcelo,

     

    A única forma de você não utilizar o .NET Framework, é desenvolver aplicações em C++ nativo (não-gerenciado).

    Quando você cria um novo projeto C++ no Visual Studio, você pode escolher por criar um projeto Win32, MFC, ATL ou CLR.

     

    Desses tipos de projeto, o único que utiliza o .NET Framework é o CLR. Todos os outros utilizam as APIs do Windows diretamente (Win32), ou então as bibliotecas da Microsoft (MFC e ATL).

     

    Abraços,

    Caio Proiete

    terça-feira, 25 de novembro de 2008 11:12

Todas as Respostas

  • Olá Marcelo,

     

    Exatamente. Todo programa .NET é executado em cima do .NET Framework que, comparando com o Java, é como se fosse a tal "máquina virtual".

     

    Essa história da performance, é subjetiva... Muitas vezes, a arquitetura da aplicação é que faz toda a diferença. Já tive a chance de migrar algumas aplicações que antes funcionavam em C++, e que hoje estão 100% em C# .NET, que apresentam melhor performance do que as anteriores!

     

    Mas é claro, também tive, pelo menos, um caso em que cheguei a conclusão que nada conseguia "bater" a aplicação C++ em questão de performance.

     

    Tudo depende do que você precisa fazer.

     

    Agora, o ganho de produtividade que você tem com o .NET comparado com o C++ nativo é enorme, por isso, você tem que pensar muito bem.

     

    O que sugiro, é que faça o download das versões Express do Visual Studio .NET, e veja você mesmo:

     

    http://www.microsoft.com/express/

     

    Faça alguns protótipos e testes de performance, e decida qual caminho é o melhor para cada aplicação que você for desenvolver.

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    terça-feira, 25 de novembro de 2008 00:50
  •  

    Cara clareou bastante.

    Realmente, é indiscutível que o tempo de desenvolvimento usando frameworks é drásticamente redusido, e o cérebro do programador agradece. Geralmente quando eu faço algum programa e viso produtividade, eu costumo usar o Java, o C# não tenho essa intimidade ainda, porém estou precisando também rever algo em C++ justamente vizando aplicativos mais velozes, como vc, já tive programas que eu precisava de desempenho, economia de recursos de memória e rapidez na resposta, só faltou eu acender vela preta com o Java e não obtive o resultado esperado.

    Me tira umas dúvidas aquí com o Visual Studio.

    Se eu compilar qualquer projeto que seje no visual studio, ele obrigatóriamente estará vinculado ao netframework? fis alguns aplicativos simples em modo console e todos necessitavam do netframework para rodar em outro computador que não tinha o Visual studio instalado, isso quer diser que todos eles estão rodando por essa máquina virtual?

    Minha intenção mesmo é fugir da "maquina virtual", e que meu código fique compilado não passando por ela, para que eu não perca em performace.

    Gostaria de saber como eu posso montar aplicativos com form sem usar o .net e a máquina virtual, é possível no Visual studio? qual o caminho?

     

    terça-feira, 25 de novembro de 2008 02:11
  •  Marcelo Developer wrote:

    Se eu compilar qualquer projeto que seje no visual studio, ele obrigatóriamente estará vinculado ao netframework? fis alguns aplicativos simples em modo console e todos necessitavam do netframework para rodar em outro computador que não tinha o Visual studio instalado, isso quer diser que todos eles estão rodando por essa máquina virtual?

     

    Minha intenção mesmo é fugir da "maquina virtual", e que meu código fique compilado não passando por ela, para que eu não perca em performace.

     

    Gostaria de saber como eu posso montar aplicativos com form sem usar o .net e a máquina virtual, é possível no Visual studio? qual o caminho?

     

    Olá Marcelo,

     

    A única forma de você não utilizar o .NET Framework, é desenvolver aplicações em C++ nativo (não-gerenciado).

    Quando você cria um novo projeto C++ no Visual Studio, você pode escolher por criar um projeto Win32, MFC, ATL ou CLR.

     

    Desses tipos de projeto, o único que utiliza o .NET Framework é o CLR. Todos os outros utilizam as APIs do Windows diretamente (Win32), ou então as bibliotecas da Microsoft (MFC e ATL).

     

    Abraços,

    Caio Proiete

    terça-feira, 25 de novembro de 2008 11:12
  • Cara vlw

    Eu tenho usado o win32 -> win32 Console aplication para montar meus projetos pra estudo, e meus aplicativos sempre necessitavam do netframework instalado na máquina aonde ele irá rodar.

    Será que é somente para uso de algumas bibliotecas, ou para uso da máquina virtual?

    Se for somente de bibliotecas, não há problema, mais se mesmo assim estiver usando a máquina virtual, aí terei que trocar de IDE, coisa que eu não gostaria de fazer, gosto do Visual Studio. Não sei como descobrir se está utilizando a máquina virtual ou não.

     

     

     

    terça-feira, 25 de novembro de 2008 12:26
  •  Marcelo Developer wrote:

     

    Cara clareou bastante.

    Realmente, é indiscutível que o tempo de desenvolvimento usando frameworks é drásticamente redusido, e o cérebro do programador agradece. Geralmente quando eu faço algum programa e viso produtividade, eu costumo usar o Java, o C# não tenho essa intimidade ainda, porém estou precisando também rever algo em C++ justamente vizando aplicativos mais velozes, como vc, já tive programas que eu precisava de desempenho, economia de recursos de memória e rapidez na resposta, só faltou eu acender vela preta com o Java e não obtive o resultado esperado.

    Me tira umas dúvidas aquí com o Visual Studio.

    Se eu compilar qualquer projeto que seje no visual studio, ele obrigatóriamente estará vinculado ao netframework? fis alguns aplicativos simples em modo console e todos necessitavam do netframework para rodar em outro computador que não tinha o Visual studio instalado, isso quer diser que todos eles estão rodando por essa máquina virtual?

    Minha intenção mesmo é fugir da "maquina virtual", e que meu código fique compilado não passando por ela, para que eu não perca em performace.

    Gostaria de saber como eu posso montar aplicativos com form sem usar o .net e a máquina virtual, é possível no Visual studio? qual o caminho?

     

    domingo, 14 de dezembro de 2008 19:51
  •  Marcelo Developer wrote:

     

    Cara clareou bastante.

    Realmente, é indiscutível que o tempo de desenvolvimento usando frameworks é drásticamente redusido, e o cérebro do programador agradece. Geralmente quando eu faço algum programa e viso produtividade, eu costumo usar o Java, o C# não tenho essa intimidade ainda, porém estou precisando também rever algo em C++ justamente vizando aplicativos mais velozes, como vc, já tive programas que eu precisava de desempenho, economia de recursos de memória e rapidez na resposta, só faltou eu acender vela preta com o Java e não obtive o resultado esperado.

    Me tira umas dúvidas aquí com o Visual Studio.

    Se eu compilar qualquer projeto que seje no visual studio, ele obrigatóriamente estará vinculado ao netframework? fis alguns aplicativos simples em modo console e todos necessitavam do netframework para rodar em outro computador que não tinha o Visual studio instalado, isso quer diser que todos eles estão rodando por essa máquina virtual?

    Minha intenção mesmo é fugir da "maquina virtual", e que meu código fique compilado não passando por ela, para que eu não perca em performace.

    Gostaria de saber como eu posso montar aplicativos com form sem usar o .net e a máquina virtual, é possível no Visual studio? qual o caminho?

     

    domingo, 14 de dezembro de 2008 19:51
  •  Marcelo Developer wrote:

     

    Cara clareou bastante.

    Realmente, é indiscutível que o tempo de desenvolvimento usando frameworks é drásticamente redusido, e o cérebro do programador agradece. Geralmente quando eu faço algum programa e viso produtividade, eu costumo usar o Java, o C# não tenho essa intimidade ainda, porém estou precisando também rever algo em C++ justamente vizando aplicativos mais velozes, como vc, já tive programas que eu precisava de desempenho, economia de recursos de memória e rapidez na resposta, só faltou eu acender vela preta com o Java e não obtive o resultado esperado.

    Me tira umas dúvidas aquí com o Visual Studio.

    Se eu compilar qualquer projeto que seje no visual studio, ele obrigatóriamente estará vinculado ao netframework? fis alguns aplicativos simples em modo console e todos necessitavam do netframework para rodar em outro computador que não tinha o Visual studio instalado, isso quer diser que todos eles estão rodando por essa máquina virtual?

    Minha intenção mesmo é fugir da "maquina virtual", e que meu código fique compilado não passando por ela, para que eu não perca em performace.

    Gostaria de saber como eu posso montar aplicativos com form sem usar o .net e a máquina virtual, é possível no Visual studio? qual o caminho?

     

    domingo, 14 de dezembro de 2008 19:51