Tech stack (web si mobile)

Voua ce tech stack va place sa folositi?
Exista un alt tech stack folosit cu care ati fost mai productivi / multumiti?

1 Like

Server: nginx / node.js / sqlite
Client: Webpack / React / CSS Modules

Pt. small / medium web apps, lucrez local (http://site.local), apoi deploy in productie (https://site.com). Am scripturi pt. sync la DB local / server (yarn db:pull / yarn db:push) migrarile le fac local apoi fac push la DB in productie, fiind un singur fisier e relativ simplu de lucrat pe Sqlite.

2 Likes

Mereu mi s-a parut sqlite o solutie amatoriceasca, dar cand auzi ca Pieter Levels foloseste pt https://nomadlist.com/ - care are un trafic foarte mare - atunci reevaluezi :slight_smile:

Ai incercat si altceva inafara de CSS Modules? CSS in Js?
Unde faci deploy?

1 Like

In ultima vreme variantele astea, acum cativa ani mai bagam android nativ, de altele nu mai zic ca vad ca este strict web si mobile.

BE:
a) Prima varianta:

  • node + es*/ts
  • gramda de pachete - ca un fel de boilerplate
  • express sau altele
  • mongo
  • mai rar baze de date relationala gen postgres (de obicei le folosesc impreuna cu ceva nerelational)
  • elasticsearch sau algolia - ca servicii
  • diverse tipuri de cache
  • loguri si monitorizare tot ca servicii folosesc - papertrail, statsd cu graphite,grafana, etc
  • testele le scriu cu jest

b) Varianta pe care o foloseam mai demult si nu prea o mai folosesc:

  • php cu laravel sau alt framework/boilerplate si restul cam la fel

API: rest/graphql

FE:
a) React cu o tona de pachete pe langa
b) Inainte foloseam Vue
c) Mai de curand am inceput sa lucrez si cu react native

2 Likes

a) Pe backend aveai un boilerplate facut sau foloseai un framework anume?
b) Am vazut ca Laravel are un ecosystem care cred ca bate si rails. Cand vad ce e acolo, uneori regret ca am lasat PHP in urma.

Am un app care are un template pt. care rulez ~182 queries, iar randarea dureaza 86.721ms pe un server de $6 la Vultr.

Lucrez in general cu Vultr si Digital Ocean, dar depinde si de client, unii insista pe alte platforme.

Am facut un mobile app (react native) + site (react) si am folosit react-native-web + emotion.

// MyComponent/style.js
import $ from '@emotion/native'

export const Container = $.View`
  display: flex;
  justify-content: center;
`;

export const Description = $.Text({
  color: 'red'
});

export const Image = $.Image`
  padding: 40px;
`;
// MyComponent/index.js
import { Container, Description, Image } from "./style.js";

Mult mai placut decat formatul cu care vine react-native

Backend:

  • Java si Spring
  • Mysql
  • RabbitMQ
  • Quartz pt job-uri

Frontend:

  • Primefaces si JSF

Primefaces vine cu tot felul de componente de ui cum ar fi data tabel-uri, butoane etc

La alt proiect, fac backend si folosesc asp.net core

de curiozitate, ce beneficii ar fi sa faca cineva partea de ui pe java ?

Cand zici de beneficii, la ce te referi?

Mie personal imi este indiferent. Cam asa arata o componenta. Este gata facuta. Trebuie sa ii dai sursa de date si eventual un stil. Partea de ui o fac tot eu.

Codul acela este randat de server (oare sse ? :smiley: ). Daca insa uiti sa inchizi un tag, ceva te trezesti cu o exceptie de toata frumusetea :))

Se poate folosi oricum si html, css clasic p

https://www.primefaces.org/showcase/ui/data/dataGrid.xhtml

Probabil o integrare end to end.

E bomba Laravel, daca as vrea acum sa prototipez rapid un proiect si sa-l arunc in piata cred ca Laravel as folosi, am mai zis aici pe forum ca sunt o GRAMADA de programatori PHP ok la pret bun pe piata.

daca mi se modifica niste date intr-o componenta, se re-randeaza tot viewul? se rerandeaza doar componenta? M-am uitat un pic pe la ei dar n-am gasit prea multe info. Am vazut ca au componente custom, dar astea le gasesti acum cam pentru orice framework/libraire de js acum.
Incerc sa inteleg de ce ai alege java pt frontend si nu un limbaj precum js.

Buna intrebare :smiley:

In documnetatie zice ca se poate face si randare partiala

https://docs.oracle.com/javaee/7/tutorial/jsf-intro007.htm

It is also possible to process and render only parts of an application, such as a single component. For example, the JavaServer Faces Ajax framework can generate requests containing information on which particular component may be processed and which particular component may be rendered back to the client.

A trebui sa bag un search pe google oricum :wink:

Avem si js in aplicatie. Nu am ales eu java. Aplicatia are ceva ani si la acea data, s-a dovedit a fi o alegere buna.

1 Like

Depinde de ce înțelege fiecare prin front-end

1 Like

BD: sqlite, Postgres, MySQL, vanilla JS ( front-end)
Servers: nginx, Apache
Limbaje: Perl, Python, Golang
Framework-uri: Django, Flask, mod_perl, Dancer, jQuery
Deployment: local ( nu în cloud-ul comercial)
Job queues: gearman, celery, nats.io ( în teste)

Pt jucăriile mele mai folosesc vultr și mai nou aws.

Am încercat React acum cîțiva ani și am renunțat. Mi s-a părut overwhelming și complex.

MEAN stack

Eu pe backend folosesc:

  • node.js cu nest.js si TypeScript
  • MongoDB / MySQL
  • GraphQL cu TypeGraphQL si Apollo
  • redis la nevoie (pub-sub si caching)

Front end:

  • React
  • GraphQL (Apollo)
  • styled-components
  • next.js

Deploy la front end fac pe zeit de obicei, iar la backend (API) pe digitalocean, desi cred ca trec la google cloud.

react (cu typescript, grrr)
python (flask) si java (spring)
mongo (grrr), oracle (grrr), filesystem (yay!), postgres (yay!)
kafka, jms

Si care e combinatia care formeaza stackul preferat?
Stiu ca lucrai cu symfony. Iti recomand si nest.js cu TypeScript pt server side, are ceva similaritati cu sf bundles si DI.

din pacate la corporatie e o provocare chiar si python. am pus mai sus ce dolosesc de un an si jumatate exclusiv
php in 2019 e mult peste alte stackuri, dar nu e acceptat in enterprise

1 Like