Loading
Nota de Estudos
Study Reminders
Support
Text Version

De Onde Vem Os Apps?

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Agora, que descobrimos a estrutura do curso, vamos tentar entender onde é queas pessoas conseguem ideias para os seus apps. Alguns tipos de apps como jogos são inventados por pessoas queparecem ter um certo ponto de vista ou estilo de pensar. São pessoas como cartunistas, eescritores e assim por diante, que têm como pensar o mundo que não é tão fácil para outros aagarrar.Mas muitos dos apps que encontramos úteis surgem a partir de observar o que as pessoas já estãofazendo, e descobrir maneiras de fazer essa atividade melhor usando computadores. Exemplos dessestipos de apps são as coisas que usamos na vida diária. Por exemplo, há apps de entrega de comida
como Swiggy e Zomato, aplicativos de táxi como Ola e Uber, ou mapa e direção de direção apps comoGoogle Maps, ou OpenStreetMap.Era uma vez que havia algo chamado de diretório telefônico. Este foi um grande livro quefoi entregue a você pela empresa de telefonia, onde você procuraria o nome de um restaurante,ligue para o restaurante, e torcer para que eles entregem comida para você. É claro que isso era limitadoaos restaurantes que estavam perto o suficiente para a sua casa. Hoje, o aplicativo Swiggy ou Zomato comseu serviço de entrega possibilita que a gente peça comida de lugares relativamente distantes.E isso nos dá verdadeiras atualizações de tempo de várias etapas de nossa ordem, também. Também é divertido olhar paratodos os estágios que acontecem enquanto você está esperando a comida em casa. Da mesma forma, uma vez sobre um tempo, você tinha que saber sobre as empresas de serviço de táxi, você tem que saber seus números de telefone.Você teria que chamá-los muitas vezes por dia ou então com antecedência, e depois reservar um táxi. Hoje, comtáxi hailing apps como Ola e Uber, motoristas e riders trabalham quase que diretamente uns com os outros.E o intermediário, aqui a empresa do app, é quase invisível para qualquer uma das partes, exceto quando surge alguma questão. Os criadores desses apps observaram uma necessidade comum, viram como implementá-lo usando appse depois construam um serviço em torno dessa ideia. Inicialmente, essas ideias foram inspiradas por apenas simplescopiar ou mimetizar de serviços existentes que se baseavam em tecnologia mais antiga. Mas como esses appse as empresas construí-los entender melhor o domínio, e entender melhor como usartecnologia de hoje, a alternativa baseada em app vai muito além do que era possível no serviço demais antigo.
O app que construiremos neste curso é baseado na ideia semelhante, vamos observar uma necessidade comume vamos configurar para resoltá-lo e construir um app que poderemos, então, disponibilizar para pessoas comoum serviço. Então, qual é esse aplicativo com o qual estamos lidando.
(Consulte O Tempo De Deslizamento: 03:12)
O app que projetamos se chama FairShare. FairShare é um app que é um serviço para ajudarcolegas de quarto a decidir como dividir suas despesas, e todo mundo acaba pagando uma parcela justa detodas as contas que compartilharam em conjunto. Começaremos com um serviço que resolve por uma situação muitosimples. As suposições que fazemos são assim, roommate compartilhe gastos com alimentos,água, TV a cabo, viagens ao restaurante e assim em todas as atividades que eles possam fazer de forma conjunta.Vamos supor que para cada atividade tão conjunta, uma pessoa paga por toda a atividade por vez.Ao final de cada mês cada colega de quarto pode receber um relatório que lhes diga quem deve dinheiro equem deve receber dinheiro. Para que todos acabem pagando a mesma quantidade de dinheiro. Como vocêpode imaginar, com o tempo podemos adicionar recursos mais complexos a este serviço. Por exemplo, váriaspessoas podem chip em quantidades diferentes de dinheiro para uma única atividade, em vez de nossa suposiçãoonde apenas uma pessoa paga tudo.Outro caso é que alguns colegas de quarto participam de alguma atividade em vez de cada único colega de quarto participar. Nesse caso, a partilha igualar se aplica apenas a esses colegas de quarto, enquanto osnão participantes não têm de pagar nada no que diz respeito a essa atividade. Esse não é um casoque nosso cenário simplificado lida com. Uma terceira possibilidade é que alguma pessoa dedique a seus
pagamento no final do mês, e concordará em pagar algum tempo depois. Nosso app poderia serajustado para acompanhar essa situação também.Existem muitas outras formas como você pode imaginar em que podemos tornar o serviço de app muito maiscomplicado. No entanto, em qualquer situação de design de software, é melhor começar pequeno e evoluir o programano tempo. Foi por isso que estabelecemos a discussão do nosso app da maneira que temos.São os recursos simples que são fáceis de entender que começaremos com primeiro. Essa ideia degradativamente crescendo o programa em vez de construir foi descoberta com algum esforço.(Consulte o Tempo do slide: 05:36)
Nos primeiros dias de computação, as pessoas tentaram construir programas seguindo o estilo usado em outros campos de engenharia. Eles tentariam decidir o que construir, criar planos e, em seguida, implementaro programa. A analogia que eles estavam seguindo foi com campos como engenharia civil, onde umelabe planos, cria blueprints e depois contrata subcontratados para trabalhar em várias peças, mas nósdescobrimos, por “ nós ” aqui, eu estou em todo o campo realmente, que é muito mais difícil em software paradecidir o que construir e como construí-lo.
A razão parece ser que não há natureza ou física para impor quaisquer limites sobre o que pode enão pode ser feito. O resultado é que as pessoas acabam imaginando todos os tipos de funcionalidades. E não são apenasos próprios recursos, mas a maneira como esses recursos interagem uns com os outros, isso acabatornando-se imensamente complicado. Isso é muito mais do que o que pode acontecer sob os limitesque a natureza cria. E, portanto, campos que dependem da natureza para colocar limites, em algumas maneiras, têm um tempo mais fácil de decidir o que fazer por causa das próprias limitações que existem emo que pode ser feito.
Eventualmente aprendemos que o software não deve ser construído, ele deve ser cultivado. Um conhecido livrochamado Mythical Man-Month por Fred Brooks fala sobre esta descoberta. Com o passar do tempo, nósencontramos melhores maneiras de nos organizarmos além do que foi discutido em Mythical Man-Month.Os métodos que foram descobertos têm nomes como XP, Scrum, Kanban, que você pode terprovavelmente ouvido de.Mas quaisquer que sejam os seus detalhes, há coisas que esses métodos têm em comum, e talvez omais importante seja a lição única que diz: comece pequeno. Os seguintes pontos valemlembrando:• Não imagine muito upfront.• Obtenha alguma experiência com o produto.• Em seguida, evolua-o um passo de cada vez.Mas nome abreviado para esta ideia é produto mínimo viável. Essa palavra MVP é uma peça de teatro na siglapara premiação de jogadores mais valiosos em críquete e outros esportes.Então, usaremos o mesmo estilo que aprendemos nesta lição. Vamos começar com um cenário demuito simples, que é bruto mas funciona, nós então adicionamos mais recursos que parecem necessários após alguma experiência. Em cada etapa, porém, nosso software sempre funcionará. Nunca se deve o caso de queteremos um longo período durante o desenvolvimento tal que nosso programa funciona apenas no finaldessa duração.
Isso se encaixa bem com a nossa abordagem geral, que é começar com um programa de linha de comando eterminar com um app moderno. Então, essa é a ideia geral. O próximo passo, tendo especificado o que éque planejamos fazer, e a ideia de que iniciaremos construindo um pequeno app mínimo que possamosentender. Deixe-nos dar a próxima etapa.(Consulte o Tempo de Slide: 08:39)
Então, o próximo passo é entender o problema em detalhes. A primeira regra é gastar adequadoquantidade de tempo para entender o problema. O que fazemos é experimentar alguns dos cenários pormão e ver quais são os detalhes realmente como. Um nome chique para o que estamos fazendo seria“ paper prototyping ”.
1 Esta é apenas mais uma maneira de dizer que usar papel para pensar as ideias através;nosso protótipo de papel será apenas o suficiente que podemos nos orientar sobre onde estamos em tentaressas ideias fora. Ele nos ajudará a inventar o algoritmo básico, e em um curto enquanto também seremoscapazes de seguir para a implementação.
1 prototipagem de Papel é um processo que ajuda os desenvolvedores a criarem softwares que atendam às expectativas do usuárioe necessidades, criando interfaces e designs brutos em bruto para protótipo seguido de testes.
(Consulte O Tempo De Deslizamento: 09:24)
Então, para fazer isso, vamos chegar a alguns exemplos. Aqui está o nosso primeiro exemplo muito simples, lásão apenas 2 pessoas A e B. E o cenário que vamos entender é o seguinte:1. A paga 10 rúpias primeiro para algum evento conjunto que A e B participam.2. A paga 20 rúpias para outro evento.3. B paga por 40 rúpias para algum evento que novamente ambos participaram.Então, no final desta sequência de eventos, A gastou 30 rúpias B gastou 40 rúpias, e a questãoé como compartilhamos igualmente. Percebem que demos um exemplo extremamente simples parater certeza de que vamos evoluir a ideia básica e ela vai funcionar para situações absolutamente básicas.