André Alves de Lima

Talking about Software Development and more…

Não reinvente a roda! Utilize componentes prontos no desenvolvimento da sua aplicação

Muitos desenvolvedores não sabem da existência de bibliotecas comerciais e acabam constantemente “reinventando a roda” na hora de desenvolver as suas aplicações. Eu mesmo, lá por volta de 2005, no começo da minha carreira, não conhecia tais bibliotecas e pacotes de componentes. Ou seja, eu desenvolvia as aplicações da pequena empresa onde eu trabalhava utilizando os componentes nativos do Windows Forms.

Foi só depois de participar de uma mesa redonda no TechEd (em 2006, se não me engano) que eu ouvi falar da DevExpress e fui pesquisar exatamente o que ela tinha a oferecer. Começamos a utilizar os componentes de avaliação e a produtividade foi às alturas. Não dá para comparar a quantidade de funcionalidades disponíveis nos controles de bibliotecas comerciais com as funcionalidades dos controles nativos do .NET Framework.

É justamente por causa desse grande impacto que essa simples informação fez no desenvolvimento das nossas aplicações que eu quero compartilhar com você as 4 principais empresas que desenvolvem bibliotecas de componentes para aplicações .NET (entre outras plataformas).

Edit: depois de publicar e divulgar este artigo, várias pessoas me lembraram nos comentários (tanto aqui quanto no Facebook) da SyncFusion! Eu realmente tinha esquecido da SyncFusion, que tem até uma licença gratuita “Community” (como o Visual Studio) para desenvolvedores individuais e empresas que faturem menos que $1 milhão por ano.

Só para deixar claro, não existem somente essas empresas que vendem componentes prontos para o desenvolvimento de aplicações .NET. Essas são, na minha opinião, as 4 empresas mais conhecidas do segmento. Caso você utilize componentes de alguma outra empresa, deixe o seu comentário no final do artigo.

Ah, outro detalhe: esse não é um post patrocinado. Ou seja, não estou ganhando absolutamente nada dessas empresas para fazer essa divulgação. Só estou divulgando porque, como falei anteriormente, essa informação teve um grande impacto nas aplicações que desenvolvemos dali para a frente.

DevExpress

A DevExpress foi a primeira empresa desse ramo que eu tive contato. Na empresa onde eu trabalhava na época eu baixei os componentes de avaliação e fiquei maravilhado com as suas funcionalidades. O destaque vai para o famoso grid, que possui nativamente as funcionalidades de ordenação, remoção e adição de colunas, filtros, mestre/detalhe, drilldown, agrupamentos, entre outras:

E não é só o grid que faz sucesso. O pacote de componentes da DevExpress conta também com controles de layout (possibilitando que o usuário altere o layout das telas e salve para a próxima execução), gráficos, ribbon, skins, entre outros. Dá uma olhada nas plataformas suportadas no momento:

E quanto é que custa tudo isso? Bom, não é barato. No momento da escrita deste artigo (fevereiro de 2017), se você for comprar as plataformas separadamente (por exemplo, só Windows Forms ou só WPF ou só ASP.NET), elas custarão entre $500 e $900, dando o direito de suporte e atualizações por um ano. Depois disso, se você quiser continuar com o suporte e novas atualizações, você tem que renovar a cada ano (por um preço menor).

Existe também a opção de você comprar os componentes de todas as plataformas .NET (Windows Forms, ASP.NET, WPF e UWP) por $1500. Por fim, tem a opção “super master blaster” onde você compra todos os componentes possíveis da DevExpress (inclusive os componentes para HTML5 e JavaScript) pela bagatela de $2200.

Link: http://www.devexpress.com/
Fundada em: 1998
Versão Trial: 30 dias

Telerik

A Telerik é a empresa mais conhecida no meio dos desenvolvedores, uma vez que ela costuma patrocinar diversos eventos e ações da comunidade. Por exemplo, a Telerik foi patrocinadora do podcast .NET Rocks por anos e anos (hoje em dia, ironicamente, é a DevExpress que patrocina). Eu até tenho um bonequinho ninja da Telerik na minha mesa da empresa, que eu ganhei no primeiro TechEd que eu participei (a Telerik normalmente tinha estandes e patrocinava esse tipo de evento).

Um dos componentes mais conhecidos da Telerik é o seu grid, que é tão poderoso quanto o da DevExpress:

Além disso, o pacote de componentes da Telerik também conta com diversos outros controles bem interessantes, como gráficos, editor RichText, controle visualizador de PDF, etc. As plataformas suportadas também vão desde o Windows Forms até o UWP, passando por WPF, ASP.NET e Xamarin:

E o preço? No momento da escrita deste artigo (fevereiro de 2017), plataformas separadas estão saindo entre $400 e $1000, também com updates e suporte por 1 ano. Já a opção com todas as plataformas (tirando Xamarin) sai por $1500 e o pacote completo custa $2200.

Link: http://www.telerik.com/
Fundada em: 2002
Versão Trial: 30 dias

Infragistics

Confesso a você que logo quando eu comecei a participar de eventos da comunidade (lá por volta de 2004, 2005) eu ouvi bastante o nome “Infragistics“, mas nunca tive curiosidade sequer de procurar o que isso queria dizer. Eu tenho a impressão que as pessoas sempre reclamavam da Infragistics, mas pode ser que eu esteja errado. Com o passar dos anos eu acabei descobrindo que a Infragistics era, na verdade, mais uma empresa que desenvolvia componentes para auxiliar no desenvolvimento de aplicações.

Alguns projetos legados aqui na empresa onde eu trabalho utilizam controles da Infragistics, principalmente o grid:

Assim como as outras empresas apresentadas neste artigo, a Infragitics também suporta uma variedade de plataformas, como Windows Forms, WPF, ASP.NET, Xamarin e UWP:

Componentes de uma plataforma específica custam, no momento da escrita deste artigo (fevereiro de 2017), entre $500 e $900. Já o pacote com os componentes para todas as plataformas sai por $1500.

Link: http://www.infragistics.com/
Fundada em: 1989
Versão Trial: 30 dias

ComponentOne

Eu confesso que tive pouca experiência com os controles da ComponentOne, mas dentre as quatro opções apresentadas neste artigo, ela parece ser a menos robusta. No passado eu cheguei a utilizar de leve os componentes de acesso a dados da ComponentOne, que permitiam o compartilhamento “fácil” de schemas de bancos de dados diferentes. Isso é primordial caso a sua aplicação tenha que rodar apontando para bancos de dados diferentes (como SQL Server e Oracle, por exemplo).

Dando uma olhada nas imagens de exemplo dos controles da ComponentOne, já dá para perceber que ele fica em uma categoria um pouco inferior quando comparamos com os controles da DevExpress, Telerik ou Infragistics. Por exemplo, veja só o grid da ComponentOne:

As plataformas suportadas são basicamente as mesmas das outras empresas:

Eu imaginei que os preços da ComponentOne seriam menores, mas não, eles ficam na casa de $900 a $1100. Existe um combo de componentes .NET desktop + web que sai por $1500 e um outro combo que inclui também os componentes HTML5, JavaScript e desenvolvimento móvel por $2000.

Link: http://www.componentone.com/
Fundada em: 2000
Versão Trial: 30 dias

SyncFusion

Depois de publicar e divulgar este post, diversas pessoas vieram me lembrar nos comentários sobre os controles da SyncFusion. Eu realmente tinha esquecido deles. E olha que nós usamos os ícones “metro style” da SyncFusion em um dos nossos aplicativos aqui na empresa onde eu trabalho.

A qualidade dos controles da SyncFusion é muito boa, compatível com a qualidade das outras bibliotecas apresentadas anteriormente neste artigo. Veja só um exemplo do grid da SyncFusion:

Aqui vai uma lista das plataformas suportadas atualmente:

O grande diferencial da SyncFusion é que ela possui uma edição gratuita “Community“, igual o Visual Studio. A edição é totalmente gratuita para desenvolvedores individuais e empresas que faturem menos de $1 milhão por ano. Além disso, ela oferece também as edições comerciais, que custam atualmente em média $1000 por plataforma ou $4000 para todas as plataformas.

Link: http://www.syncfusion.com/
Fundada em: 2001
Versão Trial: 30 dias
Versão Community: gratuita para desenvolvedores individuais ou empresas com faturamento até $1 milhão por ano

Concluindo

A grande mensagem que eu quero passar com este artigo é: se a sua aplicação tem uma demanda por controles complexos, não reinvente a roda! Existem diversas empresas que desenvolvem controles comerciais que podemos utilizar nas nossas aplicações, como as quatro que eu apresentei neste artigo.

Não importa qual delas você escolha, o que importa é que você não fique perdendo tempo e dinheiro desenvolvendo controles por conta própria. Faça uso desses excelentes controles desenvolvidos por terceiros, que contam com suporte e atualizações constantes.

Vamos fazer uma conta rápida aqui? Imagine que você tenha um desenvolvedor ganhando R$3000 por mês na sua empresa. Aí você pega esse funcionário e coloca ele para desenvolver uma funcionalidade extra no controle de grid do .NET. Se esse desenvolvedor trabalhar duas semanas e meia no desenvolvimento e suporte desse grid, o custo sairia basicamente o mesmo se você tivesse pago os $600, que é o que custa em média o pacote de controles para uma única plataforma das empresas abordadas nesse artigo. Não precisa nem falar o que compensa mais, não é mesmo?

Se você ainda não utiliza esses tipos de controles nos seus projetos ou na sua empresa, faça o download das versões trial, teste e veja você mesmo a quantidade de tempo que a sua empresa conseguiria reduzir no desenvolvimento das suas aplicações. Depois volta aqui e fala pra gente os resultados na caixa de comentários. E se você já utiliza ou utilizou esses ou outros componentes pagos nas suas aplicações, conta pra gente como é que foi a sua experiência também.

Por fim, convido você a inscrever-se na minha newsletter. Ao fazer isso, você receberá um e-mail toda semana sobre o artigo publicado e ficará sabendo também em primeira mão sobre o artigo da próxima semana, além de receber dicas “bônus” que eu só compartilho por e-mail. Inscreva-se utilizando o formulário logo abaixo.

Até a próxima!

André Lima

Newsletter do André Lima

* indicates required



Powered by MailChimp

20 thoughts on “Não reinvente a roda! Utilize componentes prontos no desenvolvimento da sua aplicação

  • fernando lima disse:

    meu sonho de consumo de hoje é esse DevExpress….

    • andrealveslima disse:

      Olá Fernando!

      Recomendo 100% a DevExpress.. Não sei o que seriam das nossas aplicações aqui na empresa sem os controles deles..

      Abraço!
      André Lima

      • Marcello M. Mariano disse:

        Bom dia André,
        Na época que desenvolvia com Delphi precisava criar um controle de acesso ao sistema. Foi quando me sugeriram o UserControl da DevExpress.

        Rapaz o componente é bruto. Com apenas alguns cliques ele controla toda a aplicação para você! Inclusive criando e criptografando as tabelas de controle de acesso.

        Nem sei se existe a versão para o .NET. Mas se existir com certeza vale a pena.

        Abs,

        Marcello

        • andrealveslima disse:

          Olá Marcello, obrigado pelo comentário!

          Não conheço esse controle de acesso da DevExpress.. Talvez não tenha pro .NET.. Mas, de qualquer forma, a quantidade de controles disponibilizados nas bibliotecas deles é animal.. Vale muito a pena mesmo.. :)

          Abraço!
          André Lima

  • Sames disse:

    Tive uma experiência com o devExpress. Confesso que no início achei muito bacana, porém depois desisti porque vi que a aplicação ficou linda, porém com uma interface muito pesada.

    • andrealveslima disse:

      Olá Sames, obrigado pelo comentário!

      Sério? Nunca tivemos problemas de performance aqui.. Qual plataforma é a sua aplicação? Desktop ou web? Já tentou dar uma olhada nas versões mais recentes?

      Abraço!
      André Lima

  • Bruno disse:

    Uso o Infragistics, mas nem ele nem nenhum dos demais é bom para WPF pois vários (se não todos) os componentes não foram implementados usando a arquitetura MVVM, que é a arquitetura default para WPF. Alías, achar qualquer coisa boa para WPF é complicado, mas foi a tecnologia que escolheram, uma vez que seria o “substituto” do WinForms, e nem todo mundo usa Win 8 (Metro) ou Win10 (UWP) pra trabalhar com outra tecnologia

    • andrealveslima disse:

      Olá Bruno, obrigado pelo comentário!

      A questão do MVVM é difícil mesmo.. Eu particularmente não tive nenhuma experiência com bibliotecas comerciais + MVVM, mas o pessoal da matriz da empresa onde eu trabalho utilizou DevExpress com MVVM, aparentemente sem problema.. A DevExpress até criou um framework MVVM dela, então acho que seria estranho os controles WPF dela não suportar essa arquitetura..

      No site deles tem uma página específica sobre o assunto “suporte ao MVVM”, talvez seja interessante dar uma olhada:

      MVVM Design Pattern Support – DevExpress Controls for WPF

      Abraço!
      André Lima

  • Olá André.

    Eu uso atualmente o Telerik e SyncFusion, e ja usei o Infragistics. Todos tem recursos legais e interessante, não arrisco dizer qual o melhor, depende do qual resultado você quer alcançar na aplicação, eu gostei de usar todos estes tres que citei. Eu acrescentaria nesta sua lista o SyncFusion, que também tem ótimos componentes e também é bem conhecido. Valeu pelo post.

    • andrealveslima disse:

      Olá Ezequiel, obrigado pelo comentário!

      Pois é! Esqueci completamente do SyncFusion.. Nos próximos dias eu vou dar uma editada no post adicionando o SyncFusion também.. Valeu pelo toque!

      Abraço!
      André Lima

  • Daniel Lion disse:

    Aqui na empresa usamos Telerik, simplesmente sensacional.

    Valeu André, abraços!

  • Alexandre Dias disse:

    Os controles da DevExpress são excelentes, porém são extremamente caros para desenvolvedores individuais (meu caso)

    • andrealveslima disse:

      Olá Alexandre, obrigado pelo comentário!

      Concordo que o preço não só da DevExpress, mas de todas as bibliotecas mencionadas nesse post, são um pouco proibitivos para desenvolvedores individuais.. Mas, se sobrar um dinheiro em caixa, eu recomendo 100% o investimento.. Eles aceleram muito o tempo do desenvolvimento das aplicações..

      Uma boa alternativa é dar uma olhada na SyncFusion, que tem uma edição “Community” (gratuita para empresas com faturamento inferior a $1 milhão, o que eu acredito que deva ser o seu caso)..

      Abraço!
      André Lima

  • Marcos Vieira disse:

    Olá André,
    Gostei bastante do seu post, queria saber na sua opinião qual suíte de componentés é melhor ou seja mais robusta para aplicações asp.net mvc, pois na empresa onde trabalho estão pensando em adquirir uma dessas.

    • andrealveslima disse:

      Olá Marcos, obrigado pelo comentário!

      Para evitar problema, eu costumo somente indicar algo que eu realmente já utilizei.. Nesse caso, eu sinceramente não utilizei nenhuma dessas ferramentas com o ASP.NET MVC particularmente (somente Windows Forms e WPF).. Um pessoal aqui da empresa onde eu trabalho já utilizou os controles da DevExpress com Web Forms e MVC para fazer umas páginas básicas e, que eu saiba, eles não tiveram problemas..

      Talvez alguma outra pessoa aqui nos comentários possa te dar uma opinião mais embasada.. E recomendo também que você faça essa pergunta lá no post que eu fiz no Facebook na comunidade .NET Coders.. O post deu uma boa repercutida e acho que lá você vai encontrar uma galera que já tenha utilizado essas ferramentas com o MVC..

      Por fim, uma última opção seria baixar os trials das ferramentas e dar uma testada para sentir as diferenças.. Normalmente o instalador padrão das bibliotecas instala também um projeto de exemplo nas mais diversas plataformas.. Aí fica mais fácil de ver as diferenças de performance e funcionalidades disponibilizadas em cada uma delas..

      Abraço!
      André Lima

  • Julia disse:

    Bem ja testei o DevExpress e que ate agora uso a versao free, possui componentes altamente bons e mostra professionalismo.

    No dia que puder trabalhar em empresas de Desenvolvimento, irei recomendar esses productos que vale a pena.

    Economiza muito o tempo
    Economiza muito o fasforo na nossa mente
    e dai ja sabes nem.

    Força galera

    • andrealveslima disse:

      Olá Júlia, obrigado pelo comentário!

      Realmente os controles da DevExpress (e das outras empresas mencionadas nesse post) simplificam bastante a nossa vida.. Vale a pena 100%..

      Abraço!
      André Lima

  • Diego disse:

    Olá André
    Gostaria de saber a sua opinião, se hoje ainda vale a pena criar aplicações de médio porte em Windows Forms?
    Gostaria de iniciar um projeto particular, mas ainda estou em dúvida no que usar!
    Pra mim seria mais facil windows form, porém muitas empresas hoje buscam sistemas Web.
    Qual a sua opinião sobre isso?

    • andrealveslima disse:

      Olá Diego!

      Cara, isso depende de inúmeros fatores.. Qual é o tipo de aplicação? Faz sentido desenvolve-la em web? Quem vai desenvolver, só você ou um time? Qual é a experiência do time? Etc, etc, etc..

      Eu acho que independente desse projeto em si, você precisa aprender pelo menos o básico de desenvolvimento web.. Eu mesmo tenho pouquíssima experiência com desenvolvimento web, mas estou aprendendo a desenvolver com Node (através de um curso), porque é importante conhecer os dois mundos..

      Se no final da sua análise você concluir que vai desenvolver uma aplicação desktop, aí vem outra dúvida: Windows Forms ou WPF? Quanto a esse assunto, eu já escrevi um artigo uns tempos atrás:

      Windows Forms ou WPF? Qual utilizar?

      Espero ter conseguido ajudar..

      Abraço!
      André Lima

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *