What is the best approach for client-server application?
FIRST, collect requirements.
SECOND, create the architecture and/or design. Which of these is needed depends on the requirements.
THIRD, based on the architecture/design decide what technologies to use.
or hard&complex ?
Very hard/complex when one skips the first two steps above.