Prezados,
Eu possuo o SC desde a versão 4 onde fiz um curso na Line Brasil
Desde esse tempo todo, venho comprando toda atualização do framework, e a partir da versão 6 eu tenho um funcionario que faz - por enquanto ainda - pequenos sistemas para complementar nosso ERP (que roda em windows apenas)
Ocorre que estou pretendendo re-escrever nosso sistema completamente para WEB, então gostaria de saber uma opnião sincera dos usuarios Scriptcase quanto a isso. Praticidade, linguagem, BUGs, “telas muito parecidas”, etc, qualquer comentario é bem vindo.
Atualmente avalio também o GVinci, e o WebDev, se mais alguem tiver comparativos agradeceria muito.
abs
Leandro
Ferramentas RAD, ou Rapid Application Development (desenvolvimento rápido de aplicação), é o termo usado para definir ferramentas que estimulam o design visual da interface gráfica, e alta reutilização de componentes, de forma a produzir uma aplicação no menor tempo possível.
Quanto mais rápido você tenta ir, ignorando as boas práticas de desenvolvimento, mais débito técnico você adquire, e mais devagar você vai. Em pouco tempo a produtividade do projeto cai, e você está preso no código legado que você mesmo escreveu, um mês atrás.
Da pra fazer sim um pequeno ERP sem problemas com SC. A limitação esta no conhecimento mesmo e não na ferramenta.
Hoje se eu fosse escolher algo pra desenvolver, por exemplo um ERP, escolheria Spring MVC, ou qualquer Framework que me proporcionasse a trabalhar com MVC. Iniciei em 2011 a desenvolver com o SC e até hoje não parei. Fiz um sistema que hoje me sustenta, e que me deu alguns anos de trabalho e aprendizado. Como já estou nesse barco (no SC), nele continuarei!
Falo com relação a ser Multi-Threads, quando se tem um sistema como por exemplo: Sistema pra faculdade USP, UFRJ, UFRN onde o acesso e controle é absurdamente grande, um sistema Multi-Threads é fundamental. Nunca testei e não tenho clientes desse porte com tanto acesso simultâneo pra testar no SC.
E qual o problema de você construir seu projeto Multi-Threads???
Qual a dificuldade?
Quem efetua as transações é o banco de dados basta o programador se preocupar e controla-las.
Agora se você for usar um Access da vida como base de dados do seus sistema aí não vai rolar mesmo…
Tá vendo como Multi-Threads pode ser diferente pra uns e outros… primeiro é preciso definir sobre esta se falando. Se bem que o tópico nem é sobre isso, só fiquei curioso com o que o Fred disse.
Pelo que entendi do Fred, ele quis dizer a capacidade de mult-processamento. Apesar que o termo em si eh usado para capacidade de mult processamento de processadores o que envolve hardware também.
Falo sobre sistema com grande acesso, o Php não é Multi-threads e sabemos que isso é sim uma diferença quando tratamos de sistemas robustos. Sobre o banco de dados, existem hoje o uso de abstração de dados que vários Framework utiliza. Apesar que o SC não é Framework. Falo de modo genérico. Sei que se trata do SC e não apenas da linguagem Saulo, porém me referi a linguagem visto que é a qual o SC trabalha.
Capacidade de mult processamento hoje independe da programação e sim mais da linguagem utilizada, linguagens atuais hoje estão mais do que preparadas para trabalhar com os modernos processadores permitindo que várias linhas de comando sejam processadas ao mesmo tempo pelo processador da máquina. O PHP faz isso tranquilamente. Inclusive o PHP melhor ainda ele pode ser compilado no linux especialmente para o processador cujo a máquina onde o linux esta instalado.
Explorando o software por trás do Facebook, a maior rede social do mundo
Na escala em que o Facebook opera, muitas abordagens tradicionais para servir conteúdo web falham ou não são práticas.
O desafio para os engenheiros do Facebook tem sido manter o site no ar com mais de meio bilhão de usuários ativos.
Facebook: desafio de escalabilidade
Antes de entrar em detalhes, aqui estão alguns factóides para dar uma idéia do desafio de escalabilidade com o qual o Facebook tem que lidar:
O Facebook serve mais de 550 bilhões de visualizações de páginas por mês;
Há mais fotos no Facebook do que em todos os outros sites de fotos juntos (incluindo sites como o Flickr);
Mais de 3 bilhões de fotos são visualizadas por dia;
Mais de 25 bilhões de tipos de conteúdo (atualizações de status, comentários, etc) são compartilhados todo mês;
O Facebook tem mais de 60 mil servidores.
Softwares para escalar
A infraestrutura de software que o Facebook usa pode ser vista como a de um site LAMP, mas com melhorias e extensões de vários serviços. Por exemplo:
O Facebook usa PHP, mas tem um compilador que permite que o sistema execute código nativo nos servidores web, aumentando significativamente seu desempenho;
O Facebook usa Linux, mas é um Linux otimizado para garantir alta vazão de rede;
O Facebook usa MySQL, mas principalmente para persistência de chaves-valores (Hashes), movendo lógicas de consultas e JOINS para a camada de aplicação dos servidores web em que otimizações são mais fáceis de implementar, usando por exemplo caches em memória;
Por fim, há sistemas customizados, como o Haystack, um objeto de armazenamento altamente escalável usado para servir a imensa quantidade de fotos do Facebook, e o Scribe, um sistema de logging (registro de ações) que consegue operar na escala do Facebook (nada trivial).
Vamos ao que interessa. Abaixo são apresentados os softwares (alguns) que o Facebook usa para fornecer a todos nós a maior rede social do mundo.
Só complementando, o PHP é multthread sim e o próprio SC faz uso disso na compilação das aplicações, o processo pai disparada a tarefa de compilação para a quantidade processadores lógicos definidos na configuração do SC, e então tudo ocorre em paralelo, o processo filho para a ser independente dos demais processos tendo uma área exclusiva de processamento e acesso a memória.
Mas pra se valer desse recurso é necessário a implementação das funções que o Haroldo comentou logo acima.
Mas como já comentado também, em um ambiente single core não é possível se valer deste recurso pois o endereçamento de tarefas leva em conta os threads disponíveis no computador onde o processo será disparado.