Jump to content

O que andas a programar?


Mini0n
 Share

Recommended Posts

Depois da conversa iniciada ali no Desabafos, pode continuar-se aqui e fica assim a thread para se falar do que a malta anda a programar ou usa para o fazer.

 

  

2 hours ago, invaderhd said:

Sim eu tenho esse problema com a maioria dos cursos normalmente são muito lentos e como já tenho bases de programação quero ver as coisas mais a correr para ficar com a ideia geral e não perder muito tempo.

Eu não vou deixar Laravel, aliás quando mais vejo de outras Frameworks mais acho que o Laravel está entre as melhores, se existisse igual para Python ou Javascript ninguém falava de outra coisa, aquilo tem tanta coisa que até assusta. Eu atualmente consigo criar um SaaS básico em menos de uma semana, aliás fiz recentemente uma brincadeira para criar um plugin para o chatgpt que estou à espera de aprovação que demorou 3 ou 4 dias nas horas livres.

Ainda usava sempre Bootstrap e comecei a usar em algumas coisas TailwindCSS e gostei muito, mas tenho que aprender mais. Já fiz coisas com Vue e gostei mas estou mais inclinado para aprender NextJS porque vejo isto a ser a base de grande parte dos projetos de indie hackers e deixa-me curioso.

Já agora isto devia ser movido tudo para um tópico de programação, é interessante lá falar sobre isto.

Tailwind IMO é obrigatório. Muito mais prático, mais versátil, mais bonito e fácil de entender IMO.
Ultimamente só uso Tailwind. E os últimos templates que comprei já foram Tailwind também. Já começa a haver oferta.

O React tem mais base que o Vue. Mesmo em ofertas de emprego, o React tem muito mais que o Vue. Até o Angular acho que anda com mais procura que o Vue. Ainda assim, pessoalmente tenho preferência pelo Vue.

Há uns anos valentes comecei a brincar com Angular mas desisti. A curva de aprendizagem era ridícula. React nunca mexi e Vue dei uns toques, tudo muito simples de perceber.
Ando sempre atento e do que vejo, acho o Vue mais simples, com menos "pormenores" que temos de saber, mas não consigo ver essas cenas separadas do Laravel. Portanto tudo o que é routes e afins deixaria para o Laravel. Basicamente era usar Inertia.
Do que vejo, Svelte parece-me ser a framework que mais se encaixa no que eu acharia ideal. Mas ainda é um bocado verdinha, comparada com as outras.

 

Btw, já usaste Vue "a sério" em Laravel? Tenho dificuldade em encaixar o conceito de usar só o Vue para os componentes (dropdowns com search, datepickers, etc). Mas do que vi até é bastante simples, é só chamar o componente e tá feito.

Link to comment
Share on other sites

angular é onde cada vez tem mais procura pk foi o primeiro a ter o typescript integrado se não me engano,

o react consegue acompanhar pk já implementou um builder que tb integra o typescript.

CSS frameworks são optimos para fazer as coisas mais rapidamente mas tem a desvantagem de ser default e de dificultar a manutenção, ao fim de algum tempo pois tiram coisas e metem outras coisas nas novas versões. Por isso convem usar em projectos que não se pretende mudar muito no futuro.

caso contrario mais vale usar sass

Link to comment
Share on other sites

Se o cliente precisa de um admin panel, não tens de contratar um designer para ter um look todo XPTO diria eu. Os meus clientes estão-se marimbando para o visual. Tem de ser prático e simples de usar. Claro que ser bonito ajuda. Mas o default, como dizes, é bonito, portanto.

Quanto à manutenção, acho mais lixado manteres uma cena tua que um Tailwind (utility-first approach), que também é SASS na essência. E até ver, acho que nunca tiraram nada que te possa fazer falta. Pelo contrário. E, sendo utility-first, se não tem, tu fazes de forma simples.

 

 

Quanto ao JS, está aqui uma survey com dados interessantes sobre o JS do ano passado: https://2022.stateofjs.com/en-US/libraries/front-end-frameworks/

Link to comment
Share on other sites

admin panel sim, não interessa nada os pormenores, agora no client side...

estou confuso com o survey se é por opinião pessoal ou se é pela procura das empresas

é que aquilo que reparo nos anuncios de emprego e pelos recrutadores é que cada vez mais se está a ter um tendencia a ir para o typescript

Link to comment
Share on other sites

O client side pegas num Figma de um designer e com o Tailwind deixas aquilo pixel perfect sem grandes dramas. ;)
Com o Bootstrap é mais lixado fazer isso IMO.

 

A survey é feita com malta como tu e como eu. Não é feita a empresas, do que li. Sim, o TS está a crescer, mas acho que Angular em si continua em queda no geral. React é lider, Vue e Svelte estão a subir.

Link to comment
Share on other sites

Frontend uso Vue ou React, ambos com Typescript ao lado. Depois com Vue -> Quasar, e React -> NextJS.

Mas pessoalmente prefiro Vue, React é mesmo só profissionalmente, projetos meus é tudo Vue.

Backend é Python + FastAPI.

 

Link to comment
Share on other sites

A ideia que tenho é que o Angular está a morrer, vejo muitos poucos projetos novos a usarem Angular e os que usam são mais empresariais e sobretudo por terem equipas que sempre trabalharam nisto. 
 

Eu já fiz vários projetos a usar Vue mas não foi o projeto todo foi partes específicas tipo um cronómetro para assembleias municipais, um sistema de leilões, e coisas assim. 
 

Gostei de Vue mas gostava de testar NextJS porque nunca usei React e meio mundo gosta daquilo e porque é a framework do momento e gostava saber se realmente é boa ou se é só mais um hype qualquer. 

Link to comment
Share on other sites

12 hours ago, 2n2u said:

Frontend uso Vue ou React, ambos com Typescript ao lado. Depois com Vue -> Quasar, e React -> NextJS.

Mas pessoalmente prefiro Vue, React é mesmo só profissionalmente, projetos meus é tudo Vue.

Backend é Python + FastAPI.

 

Quando usas NextJS usas ainda outra linguagem para backend? Porque não tudo em NextJS?

Link to comment
Share on other sites

Neste momento as minhas tarefas são de gestão de equipa e projeto, no entanto, quando é preciso tocar em código estou a programar em PLSQL e ADF.

Uso o Visual Studio Code (Oracle extension) para o PLSQL em conjunto com o SQL Developer (eu sei, é péssimo mas tem o seu encanto).

Para ADF não tenho outro remédio senão utilizar o Jdev (V11 para customizações e V12 para Extensões).

Link to comment
Share on other sites

17 minutes ago, invaderhd said:

Quando usas NextJS usas ainda outra linguagem para backend? Porque não tudo em NextJS?

Há vários motivos, o principal é que o backend está a fazer tarefas de machine learning/processamento de dados em pandas. Outros motivos é porque gosto mais de programar em Python a usar FastAPI (sou muito mais rápido a pôr coisas cá para fora), tenho geração automática de documentação/validação, tenho injeção de dependências/etc.

Quem só souber JS, de facto é bom que o Next dê a liberdade de teres o backend lá.

 

Link to comment
Share on other sites

52 minutes ago, 2n2u said:

Há vários motivos, o principal é que o backend está a fazer tarefas de machine learning/processamento de dados em pandas. Outros motivos é porque gosto mais de programar em Python a usar FastAPI (sou muito mais rápido a pôr coisas cá para fora), tenho geração automática de documentação/validação, tenho injeção de dependências/etc.

Quem só souber JS, de facto é bom que o Next dê a liberdade de teres o backend lá.

 

Sim faz sentido, eu em Laravel também certamente vou ser muito mais rapido que tudo em NextJS, mas quero ver se arranjo tempo de aprender fullstack em NextJS para ver se percebo os encantos daquilo.
Aliás ainda tenho muita dificuldade em muitos casos em perceber os encantos de fazer o frontend sempre com frameworks the frontend. 
Dos exemplos que vejo é sempre bem mais lento do que usar, uma abordagem mais comum, claro que em muitos casos queremos que as coisas sejam feitas sem page refresh e assim e ai a conversa é outra.
O Laravel até permite uma coisa que é o Livewire que é quase a abordagem tradicional com magia do javascript a correr por trás, para certos problemas é uma abordagem muito boa no Laravel.

Tu ao criares usando FastAPI, estás a fazer tudo em cima de uma API e pedidos rest? 

Link to comment
Share on other sites

Pareceu-me ser isso, sim. A FastAPI parece criar os endpoints, devolver os dados e gerar os docs.

Tu no NextJS vais perder o "mojo" do Eloquent... :-..

E sim, Livewire, para cenas simples, é brutalíssimo.

Link to comment
Share on other sites

8 minutes ago, Mini0n said:

Pareceu-me ser isso, sim. A FastAPI parece criar os endpoints, devolver os dados e gerar os docs.

Tu no NextJS vais perder o "mojo" do Eloquent... :-..

E sim, Livewire, para cenas simples, é brutalíssimo.

Existe tanta coisa que o Laravel faz que outras frameworks mais faladas estão tão longe de fazer. Continuo a dizer do que já testei nada está ao nível do Laravel, o problema é ser para PHP que não é uma linguagem da moda.

Agora uma pergunta mais tecnica que nunca investiguei muito mas que me levanta alguma confusão quando fazem estes websites assentes em pedidos a via API a endpoints como fazem a autenticação? Normal com base em sessões ou por exemplo JWT? 
Como não costumo fazer as coisas assim tenho essa dúvida.

Link to comment
Share on other sites

Também é cena que me atrofia. Mas sim, acho que é tudo com JWT. Cada pedido valida a autenticação ao trocar os tokens. Penso que é isso.

Mesmo a cena do Inertia me atrofia por cauda dessas cenas. Quando é uma app simples do todo básico, funciona tudo perfeito e é click click e tá a bombar.
Mas depois entram as cenas mais complexas e aí é que lixa. Um gajo tem uma mentalidade que tem de alterar completamente.

Link to comment
Share on other sites

1 minute ago, Mini0n said:

Também é cena que me atrofia. Mas sim, acho que é tudo com JWT. Cada pedido valida a autenticação ao trocar os tokens. Penso que é isso.

Mesmo a cena do Inertia me atrofia por cauda dessas cenas. Quando é uma app simples do todo básico, funciona tudo perfeito e é click click e tá a bombar.
Mas depois entram as cenas mais complexas e aí é que lixa. Um gajo tem uma mentalidade que tem de alterar completamente.

Eu uso várias vezes o Laravel Sanctum que serve precisamente para gerir a autenticação dos pedidos via API, aqui podemos usar tokens que é semelhante so JWT, ou a sessão/cookies que é semelhante ao funcionamento tradicional do Laravel, eu uso sempre tokens porque é o que funciona melhor para depois integrar em aplicações mobile.
Mas sempre fiquei na duvida se quem desenvolve só websites assentes em APIs se continua a usar Tokens já que aumenta a complexidade em relação à sessão/cookies onde apenas fazemos o pedido e o sistema automaticamente vai buscar essa informação e confirma se está autenticado ou não.

 

Link to comment
Share on other sites

7 hours ago, invaderhd said:

Sim faz sentido, eu em Laravel também certamente vou ser muito mais rapido que tudo em NextJS, mas quero ver se arranjo tempo de aprender fullstack em NextJS para ver se percebo os encantos daquilo.
Aliás ainda tenho muita dificuldade em muitos casos em perceber os encantos de fazer o frontend sempre com frameworks the frontend. 
Dos exemplos que vejo é sempre bem mais lento do que usar, uma abordagem mais comum, claro que em muitos casos queremos que as coisas sejam feitas sem page refresh e assim e ai a conversa é outra.
O Laravel até permite uma coisa que é o Livewire que é quase a abordagem tradicional com magia do javascript a correr por trás, para certos problemas é uma abordagem muito boa no Laravel.

Tu ao criares usando FastAPI, estás a fazer tudo em cima de uma API e pedidos rest? 

Mas sem page refresh é o normal de qualquer uma das frameworks, seja React ou Vue. Chamadas async para não bloquear nada, e depois o update a nível de UI é gerido pela framework, daí serem "reativas".

Por exemplo os gajos do NextJS (Vercel), têm este hook: 

https://swr.vercel.app/

 

Mais sobre o assunto:
https://swr.vercel.app/blog/swr-v2

Sim FastAPI é REST maioritariamente. Às vezes uso websockets e SSE, para comunicar, mas é raramente.

 

Quanto a autenticação, depende, maioria das vezes será com JWT.

Link to comment
Share on other sites

1 hour ago, 2n2u said:

Mas sem page refresh é o normal de qualquer uma das frameworks, seja React ou Vue. Chamadas async para não bloquear nada, e depois o update a nível de UI é gerido pela framework, daí serem "reativas".

Por exemplo os gajos do NextJS (Vercel), têm este hook: 

https://swr.vercel.app/

 

Mais sobre o assunto:
https://swr.vercel.app/blog/swr-v2

Sim FastAPI é REST maioritariamente. Às vezes uso websockets e SSE, para comunicar, mas é raramente.

 

Quanto a autenticação, depende, maioria das vezes será com JWT.

Eu sei como funcionam as frameworks relativas a minha questão era a nível do backend mais propriamente da api o que usas para manter a sessão do utilizador. 
Usam abordagem clássica de sessões/cookies ou usam tokens que passas na autenticação e depois a cada pedido envias de volta com o pedido?
 

16 minutes ago, Mini0n said:

Um gajo dantes precisava de um curso para programar. Agora precisa de 5 para se manter a par das últimas novidades de uma das frameworks JS... :no:

Bem verdade. 
Ainda hoje passei o dia só a atualizar uma app feita em flutter há 2 anos que já não consigo compilar atualmente sem refazer uma boa parte. 

Link to comment
Share on other sites

1 hour ago, invaderhd said:

Eu sei como funcionam as frameworks relativas a minha questão era a nível do backend mais propriamente da api o que usas para manter a sessão do utilizador. 
Usam abordagem clássica de sessões/cookies ou usam tokens que passas na autenticação e depois a cada pedido envias de volta com o pedido?
 

Bem verdade. 
Ainda hoje passei o dia só a atualizar uma app feita em flutter há 2 anos que já não consigo compilar atualmente sem refazer uma boa parte. 

Sendo frameworks de frontend, não se focam muito nisso, a abordagem a nível de autenticação é o que a pessoa quiser a nível do backend.

Para NextJS (como tens backend) há tipo isto, que é popular: 

NEXT-AUTH.JS.ORG

About NextAuth.js

No NextAuth pode-se, por exemplo, usar cookies (os que eles usam):

Quote

 

__Secure-next-auth.session-token

__Host-next-auth.csrf-token

 

Também se pode usar JWT, é como a pessoa quiser.

Eu pessoalmente prefiro JWT.

Link to comment
Share on other sites

@invaderhd ou quem perceber da coisa:

Adaptaste-te bem ao Flutter (vindo de Laravel/web)?
Com Flutter temos acesso a tudo o que é API do telemóvel (câmara, leitor QR, etc).
E em termos de text-to-speech e speech-to-text? Tem APIs para isso? Sabes?

Aproveitando: estou a pensar em Flutter - apesar de o que preciso dar tudo para fazer com o browser - porque o cliente pode precisar de aceder à cena offline.
Já trabalhaste com algum website que precisasses de usar em modo offline com service workers? É coisa simples?

Thanks :y:

Link to comment
Share on other sites

11 minutes ago, Mini0n said:

@invaderhd ou quem perceber da coisa:

Adaptaste-te bem ao Flutter (vindo de Laravel/web)?
Com Flutter temos acesso a tudo o que é API do telemóvel (câmara, leitor QR, etc).
E em termos de text-to-speech e speech-to-text? Tem APIs para isso? Sabes?

Aproveitando: estou a pensar em Flutter - apesar de o que preciso dar tudo para fazer com o browser - porque o cliente pode precisar de aceder à cena offline.
Já trabalhaste com algum website que precisasses de usar em modo offline com service workers? É coisa simples?

Thanks :y:

Sim com flutter consegues aceder a tudo isso do telemóvel. 
Vindo da web para dart (flutter) não é propriamente fácil é conceitos muito diferentes, o flutter ajuda a não teres que perceber exatamente da arquitetura do iOS e do Android mas é bastante diferente de Laravel. 
 

Existem packages para pelo menos text to speech eu já testei isso, o contrário também existe de certeza, mas se queres text to speech de Alta qualidade  como agora vemos com a AI tens que usar algum serviço pago, aquele mais normal que os telemóveis nativamente já faziam esse é grátis. 
 

Nunca testei isso dos service workers para correr o site offline, cheguei a ver umas coisas há 1 ou 2 anos mas nunca testei só li sobre o assunto. 

  • Thanks 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.