27/02/2023
📱🚀 Por que escolher o .NET MAUI para desenvolvimento de aplicativos móveis?
👉 Desenvolvimento multiplataforma: Com o .NET MAUI, é possível criar aplicativos para Android, iOS, macOS e Windows, usando uma única base de código.
👉 Compatibilidade com Xamarin: O .NET MAUI é compatível com o Xamarin, permitindo que você aproveite o código existente do Xamarin e migre para o novo projeto com mais facilidade.
👉 Amplas possibilidades de desenvolvimento: O .NET MAUI é uma plataforma de desenvolvimento completa que oferece suporte a todas as funcionalidades necessárias para criar aplicativos complexos, incluindo gráficos, conectividade, bancos de dados e muito mais.
👉 Performance: O .NET MAUI utiliza a tecnologia AOT (Ahead-of-Time) para compilar aplicativos, o que melhora significativamente a performance e a velocidade de inicialização.
👉 Interface de usuário: O .NET MAUI oferece suporte à criação de interfaces de usuário ricas e responsivas, com recursos avançados, como temas, estilos e animações.
👉 Grande comunidade de desenvolvedores: A comunidade de desenvolvedores do .NET MAUI é grande e ativa, oferecendo uma vasta gama de recursos, tutoriais e suporte.
👉 Ferramentas de desenvolvimento avançadas: O .NET MAUI oferece uma ampla gama de ferramentas de desenvolvimento avançadas, como o Hot Reload, que permite que você veja as alterações em tempo real no aplicativo.
👉 Linguagem C #: O .NET MAUI é baseado em C #, uma linguagem popular que é fácil de aprender e tem uma grande base de usuários.
👉 Suporte da Microsoft: Como uma plataforma da Microsoft, o .NET MAUI tem um forte suporte e é uma escolha segura para empresas que buscam uma solução de desenvolvimento de aplicativos móveis confiável e de alta qualidade.
🤔 Ainda não está convencido? Entre em contato conosco para saber mais sobre como o .NET MAUI pode ajudá-lo a criar aplicativos móveis de alta qualidade e multiplataforma!
16/03/2019
Quer se tornar um Especialista em Scrum, Cobiçado pelo Mercado e podendo ganhar até R$16 mil! 👏👏👏👏
https://go.hotmart.com/Y12488797X
Inscrição FSM Novo - MindMaster Treinamentos
12/03/2019
😱😱😱 Revelando o SEGREDO que a indústria do software NÃO QUER que programadores PHP SAIBAM!😱😱😱
Saiba mais em https://encurtador.com.br/tKP19
Treinamento PHP na rede interna
Descubra o segredo que a indústria do software não quer que programadores PHP saibam. Aprenda uma forma simples e eficaz para proteger o código fonte de seus sistemas PHP possibilitando a você vender sistemas em PHP para rodar na rede interna de seus clientes.
19/11/2017
O Xamarin é uma plataforma para desenvolvimento de aplicações móveis dentro da plataforma .NET, utilizando o C #. A grande vantagem dessa plataforma é a possibilidade de compartilhar código entre as muitas plataformas - iOS, Android e Windows - enquanto mantém-se a criação de aplicações nativas, tanto em performance como em interfaces. Isso porque o Xamarin permite o compartilhamento de toda a regra de negócio da aplicação: acesso a dados, serviços, domínio etc., enquanto a interface é individual para cada uma das plataformas. Isso resulta em um compartilhamento de, em média, 75% do código. Nesse curso, veremos como dar os primeiros passos nessa plataforma e começar a utilizar seu poder para o desenvolvimento de aplicações móveis.
14/03/2017
Novidades do C # 6.0
Interpolação de strings
Suponhamos que eu queira sobrescrever o método ToString em minha classe Conta para que ele retorne o numero e o saldo da conta no formato “Numero:X, Saldo:Y”. Eu poderia fazer dessa forma, usando String.Format:
public class Conta
{
public double Saldo { get; set; }
public int Numero { get; set; }
public Cliente Titular { get; set; }
public override string ToString()
{
return string.Format("Numero:{0}, Saldo:{1}", this.Numero, this.Saldo);
}
}
Mas esse negócio de usar números dentro de uma string é algo que pode ficar meio confuso dependendo do tamanho dela. Pra simplificar, podemos fazer a mesma coisa, mas agora com uma sintaxe diferente:
public class Conta
{
public double Saldo { get; set; }
public int Numero { get; set; }
public override string ToString()
{
return $"Numero:{this.Numero}, Saldo:{this.Saldo}";
}
}
24/10/2016
Extraindo o conteúdo de um arquivo ZIP em PHP
Para extrair (descompactar/descomprimir) o conteúdo de um pacote ZIP para um diretório, basta chamar o método extractTo. O objeto pode ser tanto um arquivo novo (recém criado) quanto um arquivo já existente e que foi aberto para leitura. O método recebe por parâmetro o diretório onde o conteúdo deve ser extraído e, opcionalmente, um elemento ou array de elementos a serem extraídos (pelo nome). Exemplo:
// Criando o objeto
$z = new ZipArchive();
// Abrindo o arquivo para leitura/escrita
$abriu = $z->open('teste.zip');
if ($abriu === true) {
// Extraindo todo conteudo no diretorio "/home/rubens/"
$z->extractTo('/home/rubens/');
// Extraindo apenas um arquivo no diretório "/tmp/"
$z->extractTo('/tmp/', array('teste/texto.txt'));
// Fechando o arquivo
$z->close();
} else {
echo 'Erro: '.$abriu;
}
24/10/2016
Lendo e Manipulando um arquivo ZIP dinamicamente em PHP
Para realizar a leitura ou manipulação de um arquivo ZIP existente, basta invocar o método open sem nenhuma constante, em seguida usar o método getFromIndex ou getFromName, para obter o conteúdo de um arquivo interno através do seu índice ou do seu nome respectivamente. Veja um exemplo:
// Criando o objeto
$z = new ZipArchive();
// Abrindo o arquivo para leitura/escrita
$abriu = $z->open('teste.zip');
if ($abriu === true) {
// Obtendo o conteudo de um arquivo pelo nome
$conteudo_txt = $z->getFromName('teste/texto.txt');
// Obtendo o conteudo de um arquivo pelo indice
$conteudo_php = $z->getFromIndex(2);
// Salvando o arquivo
$z->close();
} else {
echo 'Erro: '.$abriu;
}
24/10/2016
Criando e Manipulando um arquivo ZIP dinamicamente Em PHP
Para criar um arquivo ZIP dinamicamente, basta chamar o método open com a flag ZipArchive::CREATE. Depois, basta usar os métodos para manipular o objeto:
addEmptyDir - Adicionar um elemento diretório a um ponto do pacote.
addFromString - Adiciona um elemento arquivo a partir do conteúdo de uma String.
addFile - Adiciona um elemento arquivo a partir do conteúdo de um arquivo do HD, ou seja, copia um arquivo do HD para dentro do pacote (podendo mudar o nome durante a cópia).
deleteName - Remove um elemento do pacote pelo seu nome.
deleteIndex - Remove um elemento do pacote pelo seu índice.
Para manipular os comentários do arquivo ou dos elementos, use os métodos:
getArchiveComment - Obtém o comentário do arquivo.
getCommentIndex - Obtém o comentário de um elemento pelo seu índice.
getCommentName - Obtém o comentário de um elemento pelo seu nome.
setArchiveComment - Define o comentário do arquivo.
setCommentIndex - Define o comentário de um elemento pelo seu índice.
setCommentName - Define o comentário de um elemento pelo seu nome.
Exemplo:
// Criando o objeto
$z = new ZipArchive();
// Criando o pacote chamado "teste.zip"
$criou = $z->open('teste.zip', ZipArchive::CREATE);
if ($criou === true) {
// Criando um diretorio chamado "teste" dentro do pacote
$z->addEmptyDir('teste');
// Criando um TXT dentro do diretorio "teste" a partir do valor de uma string
$z->addFromString('teste/texto.txt', 'Conteúdo do arquivo de Texto');
// Criando outro TXT dentro do diretorio "teste"
$z->addFromString('teste/outro.txt', 'Outro arquivo');
// Copiando um arquivo do HD para o diretorio "teste" do pacote
$z->addFile('/home/rubens/teste.php', 'teste/teste.php');
// Apagando o segundo TXT
$z->deleteName('teste/outro.txt');
// Salvando o arquivo
$z->close();
} else {
echo 'Erro: '.$criou;
}
21/10/2016
Baixar arquivos da Web com C #
Este exemplo mostra como baixar arquivos a partir de qualquer website para o disco local. Uma maneira simples para efetuar o download do arquivo é usar a classe WebClient e seu método DownloadFile. Este método tem dois parâmetros, primeiro é a url do arquivo que você deseja fazer o download e o segundo parâmetro é o caminho para o disco local para o qual deseja salvar o arquivo.
De forma síncrona
O código a seguir mostra como fazer o download de arquivos de forma síncrona. Este método bloqueia a thread principal até que o arquivo é baixado ou ocorrer um erro (neste caso, o WebException é lançada).
using System.Net;
WebClient webClient = new WebClient();
webClient.DownloadFile("http://localhost/arquivo.txt", @"c:\temp\arquivo.txt");
De forma assíncrona
Para baixar um arquivo sem bloquear o segmento principal uso DownloadFileAsync método assíncrono. Você também pode definir manipuladores de eventos para mostrar o progresso e para detectar que o arquivo é baixado. Faça o exemplo abaixo com uma aplicação Windows Forms.
private void btnDownload_Click(object sender, EventArgs e)
{
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completo);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressoFeito);
webClient.DownloadFileAsync(new Uri("http://localhost/arquivo.txt"), @"c:\temp\arquivo.txt");
}
private void ProgressoFeito(object sender, DownloadProgressChangedEventArgs e)
{
progressBar.Value = e.ProgressPercentage;
}
private void Completo(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("Download efetuado!");
}
08/10/2016
Comece a Programar: A linguagem de Programação C #, a portabilidade da Microsoft
Saiba o que é a linguagem de programação C # (C sharp), o que é, para que serve, onde é usada, como surgiu, quais suas características, quem deve estudar, por onde estudar, dicas de livros e cursos de C #
A linguagem de programação C #
C # (C sharp) é uma linguagem de programação orientada à objetos de propósitos gerais e fortemente tipada.
Foi criada pela Microsoft e faz parte do framework .NET
NET Framework é um conjunto de ferramentas criado pela Microsoft que permite uma 'comunicação' entre várias linguagens, graças a um poderoso conjunto de bibliotecas que fazem com que os programas .NET rodem em um ambiente chamado CLR(Common Language Runtime), ao invés de rodar diretamente no hardware, como em C, C++ ou Assembly.
Ou seja, existe uma infraestrutura comum entre as linguagens da .NET. Isso se chama CLI - Common Language Infrastructure -, que, sem dúvida, é o grande diferencial da tecnologia .NET.
A framework fornece um conjunto de ferramentas que geram códigos e funcionalidades de baixo nível automaticamente, permitindo que o programador foque seu tempo na lógica e desenvolvimento do programa, ao invés de se preocupar com alguns detalhes do programa/sistema, como o gerenciamento de memória e garbage collector, aumentando a eficiência do programador.
Assim como muitas outras, é multi-paradigma. Porém, uma das características do C # é portabilidade, como por exemplo, para sistemas embarcados