Java або php для бекенда

Java або php для бекенда

Привіт, сьогодні ми обговоримо питання стосується того, що краще використовувати для розробки бекенда.

У наш 21 століття все більше і більше набирає швидкість розвитку тенденції розробки Rest, RestFul api для клієнтських частин, якщо грамотно говорити, то активно розвивається область розробки клієнт-серверних додатків.

Останнім часом ведуться холевари з приводу того, на чому краще писати бекенда, питання це спірне. Раджу "танцювати" від цілей проекту. Далі ми це обговоримо.

Наприклад для простих завдань більше підійде PHP, Ruby. З цих двох мов я б вибрав Ruby. Причин насправді багато, може бути я присвячена окрему статтю порівнянні цих двох мов. Для швидкого бекенда можна використовувати Node.js, але потрібно розуміти те, що великі і складні розрахунок краще не накладати на сервер Node.JS, зрозуміти чому це так, вам допоможе розуміння життєвого циклу NodeJS додатки і роботи його всередині. Для складного і мікросервісного бекенда я б сам використовував або Java, або GoLang, схиляюся я більше до java, тільки тому, що вона мені більше подобається. Далі ми приступимо до порівняння бекеенда на PHP і бекеенда на Java.

Чому ми пишемо бекенда на PHP?

Відповідь проста, ми знаємо PHP. Більшість програмістів, які стають на шлях розробки веб-додатків, вивчають саме PHP, є багато причин на це, мова проста, низький поріг входження, основи можна вивчити за кілька годин і вже написати який-небудь простий сервіс. Але якісним він не буде :).

Останнім часом пішла така п'янка, що з PHP більшість компаній і стартапів активно йдуть на Hack, HHVM або на Java, C #. Чому це відбувається?

Java або php для бекенда

Тому що наступаюет ера реал-тайм додатків, коли користувач не хоче нічого чекати і хоче щоб відбувалося все прямо тут і зараз. PHP в принципі дозволити це може, але підтримувати це все потім дуже затратно, так, розробити додаток на PHP дешевше ніж на Java, але зате підтримка такого додатка перевалить в ціні набагато розробки цього ж додатка і підтримки його на Java. Причини в тому, що для підтримки реалтайм додатки на PHP доводиться нарощувати багато заліза, пиляти якісь свої Рантайм, городити якісь бібліотеки. Насправді це вже існує для PHP, але набагато гірше ніж для Java і тим більше Node.JS.

Висновок, PHP не підходить для поточних вимог користувачів, він не може дозволити якісний реал-тайм, який можна легко підтримувати і все в такому роді.

Чому ми не пишемо на Java?

Вам здається! Більшість серйозних компаній пишуть свій бекенда на Java. Що це за компанії? HeadHunter - весь бекенда у них на Java. Одноклассники.ру - взагалі весь сайт на java. Amazon - 98% софта на java, і цей список можна продовжувати дуже довго.

Чим краще Java ніж PHP?

На Java можна легко писати реал-тайм додатків, Java сервера працюють як демони, це означає що програма не буде збирати заново всі свої компоненти на кожен запит, отже відповіді сервер буде віддавати швидше. Java може працювати на низькому рівні, Java може легко працювати з системою, бекенда наприклад може запускати наприклад який-небудь верстат! Java може спілкуватися з іншими програмами на низькому байтовому рівні. PHP це теж може, але в Java це зроблено краще і простіше. Java строго тіпізірованія - так, в php 7 з'явився повний тайпхітінг, але це не те, що є в java. У java є повноцінні потоки, так, при розробці бекенда вони можуть бути дуже корисними навіть. І величезний плюс, у Java є описаний стандарт для розробки enterprise додатків (EJB).

можливість | JAVA | PHP

Розробка реал-тайм | + | Так можлива, але занадто дорога

Схожі статті