Nos últimos anos, por algum motivo, tenho tentado pressionar as pessoas a expandir seus horizontes profissionais. Estou convencido de que, no mundo moderno, é impossível tomar seu devido lugar ao participar de atividades altamente especializadas - apenas atividades altamente especializadas (com raras exceções).
Por exemplo, existem indivíduos chamados "codificadores" - eles não querem saber nada sobre a área de assunto, apenas se preocupam com a qualidade do código, com o desempenho e com a estrutura de dados correta.
É claro que não é ruim, mas esses caras
dependem constantemente do ambiente. Eles precisam de um tradutor - um metodologista que traduza a tarefa do cliente em termos compreensíveis para o codificador.
Consequentemente, o codificador tem uma restrição nos locais de trabalho - uma empresa de TI pura ou uma empresa com um departamento de TI grande e diversificado é adequado.
O Wagon possui um pouco mais de recursos - ele sabe entender o idioma dos usuários, quase todos os dialetos. Mas a perua, por via de regra, não pode falar
o idioma dos negócios (esse idioma difere dos dialetos dos usuários). Já existe um
artigo sobre um tópico semelhante, não vou repeti-lo.
Mas hoje não é sobre isso, hoje é sobre tecnologia.
Recentemente, saí de uma aconchegante casa amarela e descobri que no mundo existem muitas tarefas de uma determinada classe, que eu pessoalmente não consigo resolver. Soa assim:
crie aplicativos de negócios de alta disponibilidade . Simplificando, aplicativos da web para negócios.
Claro, eu já tinha ouvido falar sobre esses aplicativos antes, porque trabalhava como diretor de TI. A empresa precisava de um site, queria um CRM baseado em nuvem, um sistema de gerenciamento de tarefas e projetos acessível de qualquer lugar e uma loja online. Infelizmente ou felizmente, eu sempre fui capaz de resolver esses problemas de maneira independente com a ajuda de uma técnica bem conhecida - para encontrar empreiteiros ou uma solução pronta para usar baseada no modelo SaaS. Como resultado, a empresa gastou
muito dinheiro sem obter um resultado decente. Mas mais sobre isso mais tarde. A única exceção a esta lista é o sistema de gerenciamento de tarefas e projetos que criei no 1C no thin client, mas não há nada do que me orgulhar.
Ainda sentado em uma aconchegante casa amarela, eu, junto com meus colegas, investigamos o Bitrix e sua integração com o 1C. Encontramos um nicho conveniente para nós: descobriu-se que um banco de dados no MySQL estava escondido dentro do Bitrix, e você poderia trabalhar com ele através do mecanismo de fontes de dados externas 1C. Você pode escrever, ler e criar tabelas.
Surgiu a minha ideia de que, com essa tecnologia simples, você pode criar soluções boas, úteis e eficazes. Por exemplo, refizemos nosso "controle deslizante" para o portal corporativo em bitrix, no qual já havia um controle deslizante real (que é rolado com um dedo no telefone), e em seus slides os gráficos são exibidos para indicadores de 1C usando o Google Charts. Parecia engraçado, foi implementado de forma elementar e muito agradável nos telefones dos gerentes - foi dimensionado para tela cheia, entendeu a rotação da tela, girou, não exigiu troca de dados e instalação de um aplicativo móvel, a autorização correta está na caixa do Bitrix.
Eu até conversei com webmasters familiares (bitrixoids e regulares) sobre como exigido pelos clientes de integração Bitrix e 1C, queria lidar com esse tópico de perto. Ninguém se incomoda, por exemplo, em vez de direcionar tabelas com indicadores, para direcionar tabelas de dados para o Bitrix - os mesmos documentos ou diretórios para implementar, por exemplo, contas pessoais de fornecedores. A integração é simples e compreensível 1Sniku, você pode responder a eventos do sistema, definir filtros arbitrários, usar esquemas de layout, etc.
Mas algo de alguma forma não funcionou, os desenvolvedores da Web não mostraram interesse em minha tecnologia engenhosa, mas tudo bem.
Fiquei muito confuso com a falta de conhecimento e experiência de desenvolvimento no Bitrix, ou seja, no php. Era possível desenhar formas simples com tristeza ao meio e com a ajuda de amigos da web, mas havia muita dúvida. Ele começou a se lembrar do próprio codificador, que depende de colegas.
Foi possível fechar os olhos para essa lacuna no meu conhecimento por um longo tempo, mas eu, como outros, ensino a ser honesto comigo mesmo, a reconhecer a presença de uma fazenda coletiva em mim, a fim de receber um impulso inicial no desenvolvimento. Ele decidiu tirar proveito de suas próprias recomendações, admitiu sua inutilidade no desenvolvimento de aplicativos da Web para negócios (sem considerar o banco de dados 1C publicado pelo IIS como um aplicativo da Web) e foi a Padawans, aos Jedi deste tópico.
Eu olho para aplicativos da Web através do prisma da minha experiência com 1C e com os estereótipos correspondentes. Portanto, se você é um criador de sites experiente, seja indiferente à minha ignorância e erros graves. Ainda estou no começo da jornada.
A primeira coisa que chama sua atenção ao desenvolver aplicativos da Web é a
infinidade de ferramentas e tecnologias . São linguagens de programação, estruturas, formatos de transferência de dados, ambientes de tempo de execução e depuração, notações e regras de desenvolvimento que estão disponíveis para uso pelo DBMS, etc. Não vou listar e analisar, você mesmo sabe tudo isso.
O segundo não é imediatamente evidente, mas após vários meses de comunicação com os clientes, existentes e potenciais, mas me choca, como o 1Snika, em choque: por que uma massa tão grande de tecnologias, um número tão incrível de especialistas cria uma
gama tão
humilhante de soluções de negócios ? Antes de tudo, não se trata de soluções prontas, mas de plataformas e tecnologias para sua criação (sou o 1Snik da velha escola :)).
Com aplicativos da Web para pessoas comuns, fica claro - há tudo ou quase tudo o que a pessoa média precisa. As redes sociais estão lá, você pode encontrar uma pessoa por foto, falar em voz ou cartas, jogar tanques, assistir vídeos, etc.
E para os negócios, o que?O aplicativo comercial mais comum é simplesmente
o site da empresa . Eu, 1Snick, consigo chamar o site de um
aplicativo de negócios com muito esforço, mas o fato permanece. Teoricamente, os sites são criados para resolver problemas de negócios. Por exemplo, para atrair clientes, há uma gama muito ampla de serviços nesse tópico. A única coisa que incomoda é o preço da criação de sites, mesmo em plataformas populares. Esses sites que eu vi de dentro das empresas não trouxeram quase nenhum sentido ao negócio, mas os preços foram iguais aos projetos para a implementação de sistemas contábeis.
O segundo aplicativo Web mais comum para negócios é uma
loja online . As opções de implementação também são bastante, tanto prontas quanto personalizadas. O custo também varia muito, bem como os benefícios para os negócios. Não, é claro que existem empresas construídas em torno de uma loja on-line que não têm nada além disso - o mesmo dropshipping. Mas basicamente uma loja online é um tapa na moda para o site. Além disso, ele geralmente entra na caixa da plataforma, por que não implantar (pelo dinheiro do cliente).
Ainda existem diferentes tipos de
comunicadores - plugins e plataformas para organizar o feedback. Por exemplo, em sites, há uma janela que solicita irritantemente um número de telefone para que alguém ligue mais tarde. E eu, caramba, um introvertido.
Um tópico maior são
os sistemas de gerenciamento de tarefas e projetos na nuvem . Existem muitos desses sistemas, geralmente distribuídos de acordo com o modelo SaaS, respectivamente - eles não personalizam, são mal integrados (no sentido de confusão mais do que bom). Como sistema contábil, eles são adequados para tarefas, mas também não trazem muitos benefícios.
O que mais? Oh sim, os
serviços . 1C, por exemplo, possui muitos serviços, como um banco direto, busca de contrapartes pelo TIN, gerenciamento de documentos eletrônicos, verificação de contrapartes por bancos de dados, etc. ... Eles também são entregues como SaaS, mas a parte incorporada no sistema de contabilidade do cliente pode ser personalizada. Coisas úteis, é claro, na vida, mas elas não farão uma revolução nos negócios.
Não mencionarei aplicativos da Web como
correio ,
armazenamento em nuvem ou aluguel de servidores e instalações de renderização. Eles são altamente especializados ou, por isso, são garantidos que estão em pé de igualdade com o Word e o Excel.
É claro que existem
soluções prontas - todos os principais ERPs ocidentais obtêm rostos da web nos mesmos anos. Os Jedi dizem que são baseados nas tecnologias atuais, mas ainda não estou pronto para discutir isso. Novamente, estou confuso com a falta de personalização de soluções prontas de grandes fornecedores. Estas são soluções prontas, como contabilidade básica. É impossível criar uma pequena solução para pequenas e médias empresas por um dinheiro razoável com sua ajuda. Sim, e o custo de uma licença de cavalo.
E pequenas e médias empresas continuam atacando. Eles querem painéis de fornecedores, painéis de revendedores, sistemas distribuídos para várias centenas ou milhares de pessoas para o setor público, serviços não-visuais de pedidos, sistemas de gerenciamento de tarefas altamente personalizáveis, sistemas de coleta de dados de análise em tempo real, consolidação rápida de vários bancos de dados sem compras de uma configuração grande e poderosa por um milhão de rublos ou quanto custa lá.
Eles querem trabalhar com revendedores, clientes, fornecedores em um
único banco de dados , via web. Eles não querem conter nenhum outro sistema, direcionar dados e trabalhar em interfaces diferentes (a exceção é amigável para bebês PS, ZUP e KA, como se não os tivesse).
Eles (quase todos, por incrível que pareça) querem a oportunidade de trabalhar
off-line ou quando a conexão é interrompida (isso ainda é um desastre em nossos farms coletivos), enquanto eles não querem manter a base no cliente e realizar trocas, processando colisões posteriormente. Eles querem isso como e-mail, que fica silenciosamente ao telefone na ausência da Internet - você pode assistir todas as cartas, escrever novas (sem enviar, é claro) - e quando uma conexão aparece, tudo isso por si só é sincronizado com a nuvem. Então eles querem ver seus aplicativos.
Quase tudo o que os clientes desejam em termos de
lógica de
negócios é facilmente implementado na plataforma 1C. Possui quase tudo o que você precisa para solucionar problemas contábeis e analíticos.
Por exemplo, diretórios nos quais você pode decompor facilmente informações relacionadas a regulamentações relacionadas. Ou documentos que corretamente (bem, ou pelo menos habitualmente) refletem os eventos da vida econômica da empresa. Registros de acumulação nos quais os saldos e revoluções nas análises necessárias estão corretamente. Os relatórios, que, juntamente com a SKD, oferecem um escopo incrível para personalizar o trabalho dos analistas.
Mas
no 1C, eles não fazem os aplicativos Web corretos para os negócios , por dois motivos principais: um
rosto amarelo chato e
um desempenho ruim com um grande número de conexões (nós incluímos todos os aspectos do desempenho aqui - a quantidade de recursos consumidos, bloqueio, custo e, em geral, a necessidade de licenças etc.) d.).
Se ignorarmos e imaginarmos que o 1C tem a cara certa e não houver problemas com milhares de usuários simultâneos (esse é um experimento mental),
obteremos uma plataforma ideal para criar aplicativos de negócios de alta disponibilidade .
Julgue por si mesmo. Imagine, como parte de um experimento mental, quanto tempo você precisa para criar uma loja online na configuração do UT 10.3? Se você não pensa na interface e no desempenho, parece que o custo dessa tarefa será
de zero a várias horas . Basta fazer o RLS correto (o usuário vê todos os documentos relacionados somente a ele), executar o usuário no sistema e ... é isso! Entrei, fiz um pedido de um cliente para mim, escolhi os itens (fotos, preços e saldos podem ser vistos na forma de uma escolha), segurei um documento e aproveitei a vida.
Obviamente, você precisará reforçar algo para o autoatendimento. Por exemplo, pagamento. Ou reserva automática com datas de entrega. Mas, você deve admitir que, para o 1Snik, essas tarefas devem cuspir e triturar. Além disso, todos foram resolvidos.
Você também pode adicionar separação de dados e, geralmente, haverá um burburinho.
Exatamente a mesma quantidade de tempo, ou até menos, é necessária para organizar as contas pessoais dos fornecedores.
Para organizar um sistema de gerenciamento de projetos e tarefas, você não precisa fazer nada: basta lançar pessoas no seu 1C: Gerenciamento de documentos 2 e configurar perfis corretamente. Embora, provavelmente não ... Pomer 1C: Fluxo de trabalho 2. RIP.
Se você falar assim,
quase todas as tarefas que eu conheço para "aplicativos de negócios na Web" podem ser resolvidas usando a plataforma 1C .
Agora removemos os óculos cor de rosa e lembramos que foi um experimento mental. Não deixamos ninguém ir a lugar algum, porque uma pessoa saudável não vai querer trabalhar em uma loja on-line
amarela . Uma empresa saudável não vai querer manter um cluster infernal de servidores físicos que possa suportar o fluxo de usuários por meio de clientes da Web em um banco de dados infeliz. Sem mencionar quanto dinheiro terá que ser pago pelas licenças.
Alguns caras saem, compartilhando 1C e a web em diferentes aplicativos e organizando a comunicação por meio de serviços http. Essa é uma atividade muito empolgante, mas a essência está perdida - novamente temos dois aplicativos fracamente acoplados e, na Web Part, precisamos descrever
novamente a lógica comercial, armazenar dados, desenhar formulários e processar eventos.
Além disso, com alta probabilidade, podemos dizer que, na parte da web do sistema, você terá um
ofício chato ou precisará fazer um trabalho infernal.
Por que essa
coisa infernal ? Agora isso é compreensível: porque não há plataforma 1C com sua estrutura de dados. Não há diretórios e documentos, registros de acumulação ou relatórios. Há um banco de dados vazio, formulários vazios, sem objetos, eventos primitivos, javascript onipotente e, como mencionado no início, inúmeras tecnologias de baixo nível disponíveis (para criar objetos e componentes de alto nível). Por exemplo, react.js.
Simplificando, para criar um aplicativo Web para negócios, tanto no 1C,
você primeiro precisa escrever uma plataforma Web 1C . Pelo menos uma peça - um livro de referência, um pequeno documento, um relatório, um diagrama. O comportamento dessas classes é pelo menos mínimo para criar e programar.
Na verdade, isso geralmente é feito por web makers. Portanto, esses preços de cavalos para a criação de aplicativos de negócios para adultos na web.
É por isso que existem tão poucos aplicativos de negócios para adultos na web - ninguém quer pagar dinheiro a cavalo.
É claro que existem pessoas que compram esse trabalho. Existem muitos projetos desse tipo nos setores estaduais e municipais, no setor de habitação (como contas pessoais de consumidores de eletricidade, água etc.), diários eletrônicos para escolas. Você pode julgar a qualidade de tais aplicativos, provavelmente os usa uma vez por mês. Obviamente, isso não é um aplicativo de negócios e, muitas vezes, eles não são feitos para o "dinheiro" deles, mas acho que vale a pena mencioná-los.
A linha inferior é o dilema :
- A web resolve problemas de um rosto bonito e alta disponibilidade de aplicativos e dados, mas não há plataforma para uma descrição rápida da lógica de negócios.
- Em 1C, foram resolvidas questões de uma descrição rápida da lógica de negócios, mas o rosto amarelo feio e insensível ao desenvolvedor e a baixa disponibilidade do aplicativo e dos dados.
Como vamos decidir?