Stack Advice

Software Engineering ·
Needs advice
on
GolangGolangPythonPython
and
RubyRuby

Hello!

I'm a developer for over 9 years, and most of this time I've been working with C# and it is paying my bills until nowadays. But I'm seeking to learn other languages and expand the possibilities for the next years.

Now the question... I know Ruby is far from dead but is it still worth investing time in learning it? Or would be better to take Python, Golang, or even Rust? Or maybe another language.

Thanks in advance.

READ MORE
14 upvotes·5.4K views
Replies (6)
CEO at Cuemby, LLC·
Recommends
Golang
Python
at

Hi Caue, I don't think any language is dead in 2022, and we still see a lot of Cobol and Fortran out there, so Ruby is not going to die for sure. However, based on the market, you'll be better off learning Goland and Python. For example, for data science, machine learning, and similar areas, Python is the default language while backend API, services, and other general purpose Goland is becoming the preferred.

I hope this helps.

READ MORE
5 upvotes·4.7K views
Recommends
Golang
Python

I feel most productive using go. It has all the features I need and doesn't throw road blocks in your way as you learn. Rust is the most difficult to learn as borrow checking and other features can puzzle a newcomer for days. Python is a logical next step as it has a huge following, many great libraries, and one can find a gig using python in a heartbeat. Ruby isn't awful, it's just not that popular as the others.

Another reason to use python is that it is not compiled. You can muck around in the interpreter until you figure things out. OTOH, that makes it less performant. You really need to think about your use cases, your interest in lower-lever versus high-level coding, and so on.

READ MORE
5 upvotes·2.5K views
View all (6)
District Informatics Officer at Informatics Center·
Needs advice
on
DjangoDjango
and
ReactReact
in

Hey Everyone,

I am using the Django with Django REST framework for backend and API.. for front-end using React..

  1. What will be the best way for deployment. Backend and front-end are at different domains or both at the same domain...
  2. My app will be used concurrently by more than 1000 users. How will I achieve performance? Is there any suggestions...
READ MORE
6 upvotes·8.1K views
Replies (4)
CTO at SMOK sp. z o. o.·

Best advice will be to put a reverse proxy nginx routing certain calls to frontend, and certain to backend. Best way to build will be Docker images and a docker-compose file for starters, where you will define the database, the backend, the frontend, and the reverse proxy nginx, which you can configure to use certificates and certbot from Let's Encrypt. You can worry about performance later, at which point you will probably need to migrate towards Kubernetes. Standard setup with docker-compose should serve you well for up to 1000 users. You can initially use the same domain with possibly /v1 routing keys towards backend, and the rest towards frontend, which should be a plain Nginx image with all of the frontend files compiled. You can compile them using multi-stage Docker builds, or just plain CI/CD such as GitLab.

READ MORE
7 upvotes·5.8K views
Recommends
C#
Java
Svelte

Hello Rajeev!

In a global sense, if there is such an opportunity, and if it is applicable to your project, I really advise you to change the technical stack. Try using static UI frameworks (Svelte) and server oriented fast languages ​​(Java, C#).

But if we take current conditions, then your option would be to audit absolutely all technologies. Review your data consumption, such as how fast your database response is, how well you use the power of both languages, such as in optimization. Make sure the quality of your server provider, database, other technologies. If you're using an image extensively, consider a CDN.

As for placing the API and the Website on the same domain, the choice is yours, but in my experience, mostly people prefer the api sub-domain (example: api.example.com), it's easier and clearer.

These are big and complex decisions, but they will affect UX, and therefore your income :)

Happy coding!

Useful resources: https://reactjs.org/docs/optimizing-performance.html https://docs.djangoproject.com/en/4.0/topics/performance/ https://www.sisense.com/blog/8-ways-fine-tune-sql-queries-production-databases/

READ MORE
5 upvotes·5.9K views
View all (4)
UI/UX Designer, Web Developer ·
Needs advice
on
BracketsBrackets
and
Visual Studio CodeVisual Studio Code

For a beginner developer, what tool is most suitable for coding, Brackets or Visual Studio Code?

I am having some issues doing some inline CSS coding using Vscode but it is possible with Brackets. Polls have it saying Vscode is the most suitable for web development, so which is the best?

READ MORE
2 upvotes·4.9K views
Replies (3)
Freelance Developer at DGTEpro·

Both tools should can handle all css correctly however bugs can occur. As a user of open source software I feel it's a responsibility to report these bugs whenever they are experienced. For VS yuo can report a bug here: https://github.com/microsoft/vscode/issues/new?assignees=&labels=&template=bug_report.md

It may not be a bug though, VS code has many options for formatting code and also many plugins to extend these options further. If you have a formatting issue you could try the vscode-css-formatter here: https://marketplace.visualstudio.com/items?itemName=aeschli.vscode-css-formatter

If none of these suggestions are helpful please provide a little more infomration about the problem you're experiencing.

In my opionon VS is far superior to brackets. Not just because of the incredible list of plugins but also for it's speed and huge list of configurations options.

READ MORE
3 upvotes·37 views

Visual Studio Code is, in general, a better editor. Not only that, but support will soon end for Brackets, and they have recommended that all of their users switch to VSCode. VSCode also has many extensions that could help with any things that you may feel lacking, or you could open an issue if you feel that it is a bug. I have used VSCode for years and it has not let me down.

READ MORE
3 upvotes·30 views
View all (3)
Lead Front End Web Developer at Doc2Ship·
Needs advice
on
FirebaseFirebaseNode.jsNode.js
and
StrapiStrapi

Hello Dear Developers, I am a newbie in Full Stack Development, I have been assigned a full stack application that manages text and user data. I have started learning Node.js and I know some basics of Node JS. The Project is assigned to me by my University Professor. I and my team has developed a good Front End for our Website in React (we are familiar with JS). What Backend we should use?

READ MORE
8 upvotes·18.2K views
Replies (4)
Software Engineer at Autodesk·

Instead of using Node.js, as you are familiar with SPA I'd try to do as much logic as possible in the webapp. By using Firebase DB browser library, you can authenticate users with a variety of OAuth/password methods, store user data, and use DB authentication rules to grant read and/or write permission by various rules. With the right combination of Firebase tech, you can likely avoid any nodejs at all... (Unless it is a class requirement to have some nodejs, then maybe have a serverless cloud function that does some admin action like cleanup old data.)

There are two Firebase DBs: Firestore, and Realtime Database. Start with Firestore because it is the recommended technology.

READ MORE
7 upvotes·17K views
Recommends
Strapi
Supabase

I would definitely go with Strapi as a backend for a project like that. It already as great features like user signup/login with various providers and has a proper permission management. I has a very good API that is easy to use and data can be accessed with GraphQL if needed. I found it easy to run locally for development and the deployment process can be really easy as well.

Supabase is also an alternative I have tried once but it had less features than Strapi when I tried it at the time

READ MORE
6 upvotes·17.1K views
View all (4)
Needs advice
on
Node.jsNode.jsPostgreSQLPostgreSQL
and
Spring BootSpring Boot

I've been approached by a business consultant for programming a website + web application for his client, which is a logistics company. The web application will have a tracking system for tracking their GPS enabled fleet (400 tricks).

Kindly advise me which scaleable stack can I use for the back-end. I'm planning to use React for the front-end.

And by back-end, I also include the database. I'm considering PostgreSQL as the database system.

READ MORE
8 upvotes·25.7K views
Replies (3)
Full-Stack Developer / Team Leader / Solution Architect at WaveAccess·

Spring is a good decision for your needs, but you should build correct microservice architecture for good scaling. Work with database can be easy with ORM (e.g. Hibernate) and migrations (e.g. Liquibase) If you need the best performance and scaling on frontend, you can use Angular or React.

READ MORE
5 upvotes·23.2K views
View all (3)
Needs advice
on
FirebaseFirebaseMongoDBMongoDB
and
MySQLMySQL

I have been using Firebase with almost all my web projects as well as SwiftUI projects. I use it for the database as well as the user authentication via Google.

Is it good enough?? I have learned MySQL but I'm not that comfortable…

So for user authentication and database should I keep using firebase or switch to MySQL or MongoDB?? Or any other combination?

READ MORE
5 upvotes·30.5K views
Replies (3)
New Technologies Developer at Inteliksa·

Hi!

I’m not an expert, but I can tell you some things:

  • Firebase is a great option for a very simple to implement, fast and reliable authentication method. Nonetheless, the free authentications are limited, so if you will potentially have millions of monthly authentications, it’s probably best to take the time to build it into your app directly.
  • MySQL is great for simple tables where the data structures are not too complex, but it lacks some speed when you are trying to retrieve time data series. Also, I believe it’s a bit more difficult to distribute.
  • MongoDB is great when your information is a bit more complex and you need very peculiar data structures, nested data, dynamic structures, etc. For me at least, it’s a bit more complex to master than MySQL, but the freedom it gives you is incredible. It also performs super fast, especially with time data series, and if I’m not wrong, it’s more scalable.

In general, almost all technologies have their good things, it’s just a matter of what you want to do and then choosing the right ones.

READ MORE
Chuy Flores | Linktree (linktr.ee)
4 upvotes·1 comment·29K views
saarthak tuli
saarthak tuli
·
May 28th 2022 at 4:41AM

I understood it… so I’ll use it according to my needs.

Thank you so much !!

·
Reply
Project Manager at Touchmeedia Ads·

Look if you are comfortable with firebase you can go with it, after all, It's all about development and running your program bug-free and fast, but firebase is costly fo long run and if you are comfortable with that cost then I suggest you go with it.

READ MORE
3 upvotes·1 comment·13.8K views
saarthak tuli
saarthak tuli
·
May 28th 2022 at 12:21PM

I am not really comfortable with it... I am currently using the free tier. But i want to switch from it.. I am an enthusiast so i wont mind doing the extra work... I just want a scalable robust platform that is relatively easy to use

·
Reply
View all (3)
Needs advice
on
C#C#
and
KotlinKotlin

I want to start learning some development work...but I am confused that which one is better to start and will work more efficiently (Kotlin v/s C#). Which one of these two is more used in app development and have good outputs in real time.

READ MORE
2 upvotes·172 views
Replies (4)
.NET Developer at Performance Systems Development·
Recommends
Kotlin

It really depends on what you plan to develop and the IDE you plan to use. Here are a few points worth mentioning:

  • Kotlin is generally better for mobile application development. Most documentation you will find for android development will use Kotlin.
  • C# and ASP.NET is better for web development
  • C# is a Microsoft product so Visual Studio is better for C# programming
  • JetBrains designed Kotlin so IntelliJ or Android Studio is better suited for Kotlin programming
  • C# is more commonly used for Object Oriented Programming
  • Kotlin has better support for Functional Programming
  • Both support asynchronous programming, but I would argue Kotlin has better built-in support

Overall, both are great languages and have tons of applications. I picked Kotlin because it is more concise and efficient language, but that doesn't mean Kotlin programs will inherently be more efficient and performant. I would say if you are wanting to learn just for personal projects and such, Kotlin is probably the way to go. If you are learning to get a job as a developer, C# would be best. Once you learn the basics of programming, you will find that learning new languages is not difficult. So whichever you decide to go with, spend time understanding programming concepts more than just the language itself.

READ MORE
4 upvotes·1 comment·134 views
Phill VanLeersum
Phill VanLeersum
·
May 20th 2022 at 6:58AM

Yeah, good point - if you are learning for personal projects then the Kotlin path is free!!

I would disagree that C# is inherently better for web programming - there are some excellent web libraries out there (any library accessible from Java is accessible from Kotlin) Spring for example, or kTor.

·
Reply
Recommends
C#
in

If you’re taking the languages alone, for me Kotlin is more concise while C# is more robust and self-explanatory. If you want to create Windows apps, C# is definitely the best choice. If you’re writing a full stack web application/server, Microsoft themselves are developing ASP.NET Core for C#. It’s definitely worth checking out. The only downside is that there aren’t many choices to deploy. Most C# developers go with Azure, or set up Docker.

READ MORE
3 upvotes·75 views
View all (4)
Needs advice
on
DjangoDjango
and
FlaskFlask
in

I'd like to make a web app using Python as a primary language and PostgreSQL for data management. Using those two I can do all the back-end and control functionality, but presenting it as a webpage is still a slight challenge.

I could do everything with pure HTML5, but I would like to try a framework to speed up the process and make it more maintainable. Django and Flask seem the two most popular frameworks for Python web development, but I'd like to hear your opinions on the matter (I'm also up to trying any other Python-based framework that is an 'industry standard if there is such a thing).

I intend to do styling myself, and being able to create dynamic and responsive websites is a must-have.

Bonus points for tips on what web server environment to use. (I've done Apache2 in the past but I think it may be outdated)

READ MORE
6 upvotes·2.2K views
Replies (3)
Recommends
Django
Flask

Hi flashing-blinkenlights,

Python has an excellent ecosystem with a number of mature server-side web frameworks, a wide variety of libraries, and a lot of learning resources to boot.

Flask and Django are both great frameworks for producing web applications, but they have different strengths. Judging from your description of your project, you need a Python-based server-side web framework with an easy-to-use ORM, and for that reason, I would recommend that you look into Django as it's a "batteries-included" kind of framework. Also, it has a great admin tool built-in that makes it very easy to produce a UI for managing the database entities you create directly from within the browser.

In case you, at some time, would like to evolve your platform to be REST API-driven to some degree (e.g., for consumption by external parties), Django also has the "Django Rest Framework" plug-in, which provides all the tooling and documentation needed to produce well-behaving and secure REST APIs.

As for the choice of webserver running in a reverse proxy configuration, you can use Apache HTTPD for sure. Very popular these days is a rival webserver called "Nginx," which performs well and with a lot of momentum.

For quickly and easily getting a Django app running in production, I can recommend considering Heroku, at least in the beginning. It offers a path of very low resistance, and you don't need to worry about the reverse proxy config either.

I hope this helps, and good luck with your project. 🙂

Best, Thomas

READ MORE
5 upvotes·766 views
Co-founder at Trinesis·

That "industry standard if there is such a thing" gave me a chuckle.

Try keeping backend and frontend independent of each other, saves a lot of efforts (read time debugging).

Use your backend via APIs, they are the best, can be used with any other service. You can call your APIs through web-app, mobile-app, or any other app or you can sell your data through these APIs. Now to build APIs, you can use Django REST, or Flask, or FastAPI (very fast :)) or any other web framework. I would suggest go for Django REST, but up to you, if you are a kind of person who wants to build everything from ground up, having full control, wants to know what goes in and what comes out, don't go for Django, as they say, Django is "batteries included", gives a lot of functionalities out of the box. For eg: If you want to write some filters, or ordering, or pagination, or permissions, in your APIs, in Django REST you won't to have to write any code for that, but in flask/FastAPI, you will have to, just to give you an idea.

For frontend, use react, it's supper good, large community, you will get a lot of help.

For web-server, you can go for Apache or nginx, Apache is not outdated, it's very widely used. I would prefer nginx, but it's a personal choice. In either case, you will have to use WSGI, for Python, as it's not natively supported by either web servers, you will use both of them as reverse proxy. It will be like:

apache/nginx <--> some wsgi <--> your python web server

That's backend.

Frontend will be like: Compile ReactJS project --> generate static files --> server those static files via Apache/nginx.

Hope that helps.

READ MORE
5 upvotes·918 views
View all (3)
Needs advice
on
Cloud FirestoreCloud Firestore
and
PostgreSQLPostgreSQL

I am having a mid size React Native project, I work with SQL databases but I am thinking about moving to NoSQL, I tried to learn NoSQL databases like Cloud Firestore but I faced issues at building the relation between models, also I noticed that the data is being duplicated in many places, should I stick with SQL databases like PostgreSQL or try again with Firebase.

READ MORE
4 upvotes·15.2K views
Replies (8)
Full-stack Developer && Software Engineer at Self-employed·

Moving from a SQL database to a noSQL database is a really big deal, congrats 👏! In the current industry having handy knowledge of both is really important and I would recommend continuing to learn Firebase even if it feels a little unnatural.

When using noSQL databases you have consider the idea that the models you work with are individual documents. The data in the documents can be duplicated, re-referenced, and completely dissimilar to each other-the only thing differentiating two documents is an ID value. It's normal for data to be duplicated if you don't perform operations on the same document you already created. You stop unnecessary duplication by wrapping your document creation in a function that checks for a certain value (say if you don't want a username value to appear twice you would check if your collection of documents already has one with a username value and then throw an error).

Creating relations in a noSQL database would be done by referencing a different document in another collection (typically with the aforementioned ID value) and then going and finding that document in that collection. Say you want to find a user's posts. In the User document you would have an array of references to different documents in a Post collection, and then you would go to the Post collection and find each document that has a matching ID number to the ones stored in the User's references.

All in all, you have to realize you are working with two completely different ways of storing and relating data, similar to learning a new and completely different language. If you stick too it and don't try to force SQL onto noSQL then you will get the hang of it and it will be very rewarding.

READ MORE
7 upvotes·2 comments·14.7K views
Jens Günther
Jens Günther
·
May 18th 2022 at 4:36AM

Ray, without the context of the question your reply is 100% correct.

·
Reply
Ray Arayilakath
Ray Arayilakath
·
May 18th 2022 at 4:00PM

Thank you, Jens :).

·
Reply
CEO at digitally induced GmbH·

Postgres is a solid choice over Firestore. The structure of the database schema will definitly help you avoid duplicated data issues. If you want to have an easy to use react integration for postgres, check out Thin Backend

READ MORE
5 upvotes·7K views
View all (8)
Developer at Venhan·
Needs advice
on
.NET.NET
and
.NET Core.NET Core

Hey everyone, I am a backend developer who specializes in Java and Spring Boot having an experience of 4 years. And due to my shift in the project, now I need to deal with the .NET Core technology, as a Java developer before I need to know where to start in order to support the project and build REST API.

Can I get advice on how to move on to the new backend stack and what to learn and how to get hands-on with the .NET?

READ MORE
3 upvotes·13.2K views
Replies (3)
Lead Software Developer/Eng. at VOYD AB·
Recommends
.NET
.NET Core

IMHO I think it is the best framework to build software on. Since you are coming from Java, It should not be too difficult to adjust to C#. NET Core has come a long way. NET6 is just amazing. With the minimal API, https://docs.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0 REST API should be very easy work for starters. When you settle in, you can go more advanced.

Although this is dated - https://download.microsoft.com/download/D/E/E/DEE91FC0-7AA9-4F6E-9FFA-8658AA0FA080/CSharp%20for%20Java%20Developers%20-%20Cheat%20Sheet.pdf it provides you side by side comparison of syntax. Another cool read is - https://betterprogramming.pub/java-to-c-c-to-java-f766c9f659c4

Feel free to reach out if you need any assistance.

Welcome aboard

READ MORE
7 upvotes·2 comments·12.3K views
Abhi ram
Abhi ram
·
April 25th 2022 at 6:19PM

Hi Bernard, Thank you! for sharing the resources which helps me out to see the differences from Java to .Net & to get started with this new tech. Mainly,for the cheat sheet and cool blog to get an immediate understanding.

·
Reply
Aaron Roach
Aaron Roach
·
May 4th 2022 at 9:58PM

I would agree. As a Java developer you'll feel very comfortable, and there are a lot of things that you may come to get used to with the language that would make switching back to Java really difficult. There's just a lot of quality of life features about C#/.NET Core/.NET 5+ that make it way easier and less verbose than Java, in my opinion.

·
Reply
.NET Developer at Performance Systems Development·
Recommends
.NET
.NET Core

You will find that the transition from Java to C# is pretty smooth. Working with .NET has become much more intuitive and has a lot to offer. I highly recommend using Visual Studio as your IDE. It makes things much easier and is not too different than other IDEs like IntelliJ. There are also Visual Studio templates for web APIs that make it really easy to get up and running. Microsoft has good documentation and tutorials to help you get familiar with the technology. I would start there.

READ MORE
3 upvotes·8.8K views
View all (3)