S
S
Saveli Tomak2017-01-03 22:43:34
API
Saveli Tomak, 2017-01-03 22:43:34

What technologies should be used to implement the service providing the API?

Good day.
The task is to implement a service - a business platform that includes:

  • A kind of bulletin board
  • blogging system
  • Forum
  • News resource
  • Other minor functionality

Also in the future it is planned to introduce a system of communication between users, while we converge on a real-time chat.
Since all this should work on different platforms: web, apple, android, win phone, it was decided to develop a main server that communicates with the client via rest (we will give json)
Actually, it came to tools, here we choose between asynchronous nodejs (they say that node in the API feels good) and the usual php. Approximate audience of 100-500 thousand users (don’t laugh at such a spread, we don’t know how all this will fart) + further growth, possibly more than a million, everything will depend on the activity of the target audience and the work of the marketing department. We take postgresql as the base. What do you think about this?
We ourselves understand that you need to choose the tool with which you have experience, but we will not deal with the server and we will choose the contractor's studio based on the interests of the project.
Thanks to all!

Answer the question

In order to leave comments, you need to log in

3 answer(s)
E
Evgeniy Volf, 2017-01-03
@Wolfnsex

What do you expect to hear? There are many who feel good in the API, both node and PHP and even C ++. You can nagovnokodit on anything, make the project work very quickly - you can on PHP. In addition, most of the load, as I see it, will fall on the database, and its design and configuration, especially for Postgres, is a whole science. I still don’t really understand how NodeJS will keep such a number of users (most likely because I’m not very familiar with NodeJS), but there are enough cases in history when it fell with a bang.

What do you think about this?
I think you provided too little input and specifics. Since, for example, even my beloved Postgres is in some cases far from the best choice. And only those who have not worked with another base and believe that the only technology with which he is familiar is the best possible. Therefore, in view of the scarcity of input parameters, the answer to your question will be either as smeared as mine, or something from the series "Use NodeJS + MySQL, my blog has been visited by 30 people / month, for the 4th year already works stably in such a bundle! And don't forget to install all this on Windows Server! The best combination possible."

R
Rou1997, 2017-01-04
@Rou1997

here we choose between asynchronous nodejs (they say that the node in the API feels good) and regular php.

Which of these do you know best?
Your main goal is to implement the project, and if you use the unfamiliar, there will also be a goal to learn the unfamiliar. Thus, you will spend much more energy and time.
The same for questions like "ready-made framework vs self-written framework vs Chinese code without a framework" - a self-written framework is the most tempting option for the future, but it is also the most energy-intensive.
If the project is too energy-intensive, you will spend a lot of time, and if you don’t like it and rush, then nervous exhaustion will occur, then a nervous breakdown, “burnout”, you can eventually not only lose everything, but even get to a psychiatrist.
As for real-time, there is one point: it is better to work with WebSocket on Node.js.
And if your client is a browser, then WebSocket is desirable for you, because there is no other access to sockets in modern browsers (we consider Flash obsolete), and the sockets themselves are desirable for real-time.
But this is not the most important point.

M
malbaron, 2017-01-08
@malbaron

Anyone you know better.
PHP, Go, Ruby, NodeJS, Python, Net, C/C++, Perl - whatever.
All implementation options have the right to life.
If the project is very promising, then:
I would choose Mongo+Postgres+Tarantool.
It is more convenient to store different types of data described by you and process faster in different DBMS.
It will be faster and will eat less resources.
But I think, based on the fact that you are asking the question - what to write on - the qualifications of the performers are not enough to determine what data to put where.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question