disposição | título | link permanente | descrição | data | etiquetas |
---|---|---|---|---|---|
publicar | Leiame do MvvmForms | nova-página.html | Leiame para formulários Mvvm | 17/05/2015 16:31:30 -0700 | MVVM; Formulários do Windows |
Bem-vindo ao projeto da biblioteca MvvmForms do ActiveDevelop. O objetivo do MvvmForm é fornecer suporte compatível com XAML ViewModel para projetos e soluções Windows Forms Visual Basic e CSharp, incluindo suporte completo ao WinForms Designer. MvvmForms é Open Source (GPL), mas com licença dupla. Para obter mais informações sobre o licenciamento do MvvmForms, leia a seção Licença abaixo.
Se você tem o luxo de começar do zero para seu novo projeto e sua equipe de desenvolvimento está à altura da tarefa, provavelmente você não precisa do MvvmForms. Mas esse não é o caso com frequência. Na maioria dos cenários, centenas de milhões de linhas de código foram escritas para a plataforma Windows durante o período entre 1996 e 2010, e muitas vezes em CSharp e Visual Basic .NET para Windows Forms, ou mesmo com Visual Basic 6. Muitas empresas não o fazem. ter meios de jogar fora esses projetos e começar do zero. E para quê, afinal? Sua solução funciona, é estável e testada. Então, por que não continuar usando?
MvvmForms é para você se você deseja mudar seu paradigma de desenvolvimento. Se você quiser se livrar do Code Behind e introduzir uma boa arquitetura com separação de interesses. Se você deseja construir com base em uma arquitetura que permita testes unitários. Se você deseja criar uma arquitetura multicamadas a partir de seu software existente, simplesmente refatorando parte por parte, onde você pode reutilizar grandes partes do software para diferentes UIs, como para aplicativos universais do Windows, aplicativos iOS ou aplicativos Android.
Nossa empresa, localizada na Vestfália, Alemanha, especializou-se na migração de um típico paradigma Code Behind do Windows Forms para uma arquitetura moderna. E ajudamos a fazer isso de uma forma viável. Sabemos que sua equipe não tem tempo nem orçamento para começar do zero, e é por isso que desenvolvemos o MvvmForms: Para ajudar nossos clientes a entrar no novo mundo do desenvolvimento de software sem comprometer o projeto.
MvvmForms é uma coleção de controles para Windows Forms. Originalmente, ele foi projetado para acelerar o processo de desenvolvimento de formulários com muitos dados e para atender à necessidade de back-ends de banco de dados com seus cenários típicos, como manipulação de DBNulls sem esforço, manipulação de formulários com estado sujo, destaque de foco, processamento de fórmulas em campos de entrada de dados numéricos, pop-ups de pesquisa multithread/multicolunas para coleções de até 100.000 itens e muito mais. Em meados de 2012, algumas empresas alemãs nos procuraram para encontrar uma maneira de manter o design existente do Windows Forms, mas queriam poder aplicar o padrão Mvvm para partes de seus aplicativos LOB, para que pudessem reutilizar esse código em aplicativos móveis e para outros fins. Esse foi o começo do MvvmForms e o desenvolvemos a partir do conjunto de ferramentas existente. Isso funcionou excepcionalmente bem, então continuamos essa abordagem e adicionamos funcionalidades de designer avançadas para os componentes Mvvm.
Devido a esse histórico, o MvvmForms atende a dois requisitos do Windows Forms. A primeira é simplificar o design de formulários com muitos dados, fornecendo controles como NullableDateValue, NullableNumValue, NullableTextValue, controles para manipulação de DirtyState em Formulários e assim por diante.
A segunda é habilitar o Windows Forms para Mvvm. Para que isso termine, você não precisa usar um dos controles que o MvvmForms fornece, você só precisa de um componente: o componente MvvmManager. Basicamente, basta arrastar esse componente para o seu formulário, definir sua propriedade DataContextType para o tipo de ViewModel que você deseja vincular e cada controle nesse formulário obterá uma propriedade PropertyBindings que permite vincular à propriedade ViewModel correspondente. Você só precisa definir a propriedade DataContext do componente MvvmManager em tempo de execução. Você encontrará um pequeno guia passo a passo para começar, leia o wiki - os links estão aqui no lado direito.
Ainda por cima: dê uma olhada neste vídeo de introdução no youtube, que não só dá uma introdução ao MvvmForms, mas também ao MVVM em geral.
https://www.youtube.com/watch?v=1R_81Np5Novo
Oh sim! Nossa equipe na ActiveDevelop cuida do MvvmForms diariamente, porque alguns grandes projetos na Alemanha dependem do MvvmForms - alguns com mais de 1 milhão de linhas de código. Como somos uma empresa alemã e começamos a localizar MvvmForms para inglês, ainda há muitos comentários em alemão e XML-Docu-Tags dentro do código-fonte - mas estamos trabalhando nisso. Porém, o MvvmForms está pronto para ser usado, é estável, confiável, exaustivamente testado, e se você precisar de suporte especial ou quiser começar com ele com urgência e precisar de nós para personalizar, localizar ou ampliar sua funcionalidade, basta falar conosco, então podemos encontrar uma maneira de fazer isso acontecer.
Sim, sem limitações. Um terço dos nossos projetos atuais estão em CSharp, o restante fazemos em VB, e partes do MvvmForms (a Biblioteca Base Mvvm, por exemplo) também estão em CSharp. Outras partes estão em VB. Então, contanto que você faça o Windows Forms, você está pronto - o idioma não importa,
Sim, para projetos de código aberto. Para projetos comerciais e de propriedade, não é totalmente gratuito, mas também é quase tão bom quanto gratuito. Nosso principal objetivo é encontrar novas oportunidades para ajudar com nossos mais de 25 anos de experiência no design de aplicativos LOB e, especialmente, mostrar uma maneira para nossos clientes migrarem seu software de um software Win32 grande e monolítico para uma abordagem moderna sem riscos, onde eles podem avançar com a computação em nuvem, o Windows 10, os aplicativos móveis e tudo isso sem refazer tudo do zero.
Então, se você quiser que o ajudemos com seu aplicativo existente, realizando workshops, ajudando no projeto de uma nova arquitetura, encontrando um conceito de migração viável, apresentando o Scrum à sua equipe ou fornecendo recursos humanos por um período limitado de tempo com o propósito de processo de modernização, trazemos o MvvmForms. Então é grátis para você, porque você é nosso cliente. Vá em frente e use-o: você obteve uma licença implícita para qualquer uso comercial, se você for ou já foi nosso cliente em algum momento. Se você, entretanto, não nos quer, mas deseja o conjunto de ferramentas, basta falar conosco e nós descobriremos o melhor modelo de suporte para você: [email protected].
Se você mantém um projeto de código aberto sob GPL e deseja usá-lo. Vá em frente: bifurque-o, altere-o, modifique-o e venda-o junto com seu aplicativo de código aberto. Isso é código aberto! Contanto que seu aplicativo vinculado a ele ou use classes derivadas de MvvmForms também seja GPL - isso é perfeitamente aceitável. Mas, se você estiver gerenciando uma solução proprietária, de código próximo, e quiser usar (vincular para, derivar de) MvvmForms, será necessário obter uma licença por desenvolvedor ativo.
Sim. Basta criar solicitações pull.