سید رضا موسوی
6 سال پیش توسط سید رضا موسوی مطرح شد
12 پاسخ

نوشتن برنامه تحت وب

سلام
برای نوشتن برنامه وب سایت با جاوا باید از چه تکنولوژی استفاده کرد؟
کلا ی توضیح کلی در مورد ابزار های وب و روند یادگیری جاوا وب به من بدهید، با تشکر.


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
1

شما باید Java EE رو یاد بگیرید که یک پورت برای ایجاد کردن وبسایت هستش .


سید رضا موسوی
تخصص : برنامه
@rmtonliner 6 سال پیش مطرح شد
0

مهندس jsp چطوره؟ آیا سازمان یا نرم افزار سازمانی رو سراغ دارید که در ایران با jsp نگارش شده باشه؟
همون java ee نیز دارای 2 فریم ورک spring, hibernate می باشد، کدام یک بهتر می باشند؟


مهدی طهرانی
تخصص : cloud architect
@mtehrani 6 سال پیش آپدیت شد
0

سلام @rmtonliner عزیز
فریمورک های spring mvc و play برای توسعه وب با جاوا و اسکالا خیلی خوبن ولی من پیشنهاد میکنم برای توسعه وب در درجه اول برید سمت php و لاراول به خاطر مزایای زیادی مثل عدم پیچیدگی و سرعت توسعه بالا و در درجه دوم اگه دوست دارین به هر دلیلی با جاوا توسعه وب بدین به جاش از فرزندش یعنی اسکالا استفاده کنین خود توییتر هم قبلا با روبی بود اما الان قسمت زیادی رو به اسکالا انتقال داده و اعلام کرده در آینده تمام توییتر رو به اسکالا انتقال خواهد داد.اسکالا برای توسعه وب و برخی موارد دیگه از جاوا بهتره هم انعطاف بیشتری داره هم سرعت توسعه اش بالاتره و هم به صورت شی گرا و تابعی میشه ازش استفاده کرد و در کل اسکالا توسط یکی از نویسندگان کامپایلر جاوا بوجود اومد تا نقایصی رو که در فیدبک های جاوا باهاش مواجه شده بودن و قابلیت هایی که جاوا نمیتونست داشته باشه رو با این زبان جدید حل کنن


سید رضا موسوی
تخصص : برنامه
@rmtonliner 6 سال پیش مطرح شد
1

سلام
با تشکر از پاسخ شما، اما لاراول برای ریکوئست های بالای 20 هزار تا در ثانیه دچار از دست دادن مسیریابی میشه، این موضوع را می توانید در لاراکست به عنوان مشکلات سیستم مسیریابی لاراول در آخرین نسخه ها مطالعه کنید.


مهدی طهرانی
تخصص : cloud architect
@mtehrani 6 سال پیش مطرح شد
0

@rmtonliner
اگر واقعا همچین پروژه ای دارید میتونید از Lumen استفاده کنید که تعداد بسیار زیادی request رو میتونه هندل کنه و اگر خیلی بیشتر از این حرفاست پیشنهاد من زبان Go هست دیگه اگه خیلی زیاد بشه مثلا 5 میلیون request همزمان socket باید برید سراغ elixir ولی قسمت اعظم هندل کردن دست web server و خود سرور هست نه زبان! شما همین لاراولو روی apache بزار بعد nginx رو reverse proxy کن روش به شدت تعداد درخواست های که میتونه هندل کنه میره بالا!


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
1

@rmtonliner
20 هزارتا درخواست در ثانیه مقدار خیلی خیلی خیلی بالایی هست تو ایران کمتر سایتی داریم که این تعداد در خواست در هر ثانیه داشته باشن .
این تعداد در یک دقیقه یعنی 1 میلیون دویست درخواست ..... !


سید رضا موسوی
تخصص : برنامه
@rmtonliner 6 سال پیش مطرح شد
0

@haghft مهندس فکر نمی کنید reverse proxy کردن باعث lose شدن آدرس ها بشه و یا conflict routing رخ بدهد؟


مهدی طهرانی
تخصص : cloud architect
@mtehrani 6 سال پیش مطرح شد
1

@rmtonliner
نه اکثر سرورهای جهان همین کارو دارن میکنن به خاطر اینکه nginx توانایی بالایی در هندل کردن رکوئست ها داره ولی کیفیت هندل کردنش خوب نیست و آپاچی کیفیت عالی در هندل کردن درخواست و پاسخ داره ولی تعداد بالای رکوئست رو نمیتونه هندل کنه برای همین nginx رو reverse proxy میکنن روی آپاچی


مهدی طهرانی
تخصص : cloud architect
@mtehrani 6 سال پیش آپدیت شد
1

در ضمن استفاده از fastcgi هم در هندل کردن تعداد بیشتر رکوئست بسیار موثره که برای php میتونید از php-fpm استفاده کنید


Nima
@unknowed 6 سال پیش مطرح شد
3

سلام برای برنامه نویس وب با جاوا انتخاب های زیادی داری که من میتونم راهنمایی کنم چند مثال برات میزنم :
۱- با JSP و Servlet خام که هسته J2EE یا همون Java EE و یا همون Java Enterprice Edition هست پروژه های خوبی میتونی باهاش بزنی ولی از طرف من توصیه نمیشه به این دلیل که JSP اگه بخوام مثال بزنم مثل PHP خام هست و تفاتش در سینتکس زبانشونه
جرا میگم خوب نیست ؟ به این علت که به صورت MVC کد نمیزنی و در آخر یه پروژه کثیف رو تحویل جامعه دادی
۲- استفاده از Spring MVC یک فریمورک خیلی خوب و معروف از Spring که نیازی به تعریف نداره و هر کاری که بخوای میتونی انجام بدی (هرکاری !) و با ترکیبش با بقیه فریمورک های اسپرینگ مثل Spring Data یا Spring IoC یا Spring Security یک اپلیکیشن بسیار خفن بدی بیرون ( بیخود نیست شرکت های بزرگ میرن سمت جاوا ) البته یه نکته داره که باید یاد بگیری چطوری بخونی و منابعت چیا باشه وگرنه به نظر سخت میاد و خیلی حال نمیکنی باهاش در مورد خفانتش هم اینو بگم یک ماژول اسپرینگ مثل Spring Security داکیمنتیشن نزدیک به دوبرابر داکیومنتیش لاراول هست (تازه برای یک ماژول) به قول یکی از دوستان که به تازگی از لاراول کوچ کرده اومده به سمت اسپرینگ (نظرشو هم منتشر کرده لینکش رو آخر سر میفرستم) میگه اگر لاراول دریاچه است ، اسپرینگ اقیانوس هست .
به هر حال با اسپرینگ MVC میتونی یک وبسایت ساده تا خفن رو بزنی که در ظاهر قضیه میتونی از خود JSP ایندفعه به صورت MVC استفاده کنی یا از فریمورک های جدیدتر و بهتر جاوا برای سمت ظاهر مثل JSF و یا Thymeleaf که خیلی هم خوب هستن.

۳- استفاده از اسپرینگ برای بک اند + فریمورک جاوااسکریپتی برای فرانت اند
من خودم انتخاب هم این هست که الان شرکت هایی که باهشون کار میکردم بیشتر به این روش دولوپ میکردن ، و خیلی هم سخت نیست و در آخر محصول باکیفیتی تولید میشه

اینا به نظرم بهترین گزینه ها هستن
انتخاب های دیگه ای هم هست مثل Play که میتونی هم با جاوا بنویسی هم با اسکالا
فریمورک vaadin که خیلی خوب کار کرده یکی از انتخاب های خوب هست
فریمورک Struts که یکی از قدیمی هاست و خیلی خوب به روز نگه داشته خودشو
فریمورک Spark که خیلی شبیه به نود جی اس هست و خیلی هم سریع و قدرتمند ( به نظرم خیلی عالیه )
فریمورک Vert.x و و و و و ...

فریمورک بسیار هست اگه دوست داشتی و دنبال منبع هم بودی یه پیام بده چتدتا منبع خوب برات معرفی کنم

اینم لینک اون دوستمون که گفتم :
https://medium.com/@audruis/spring-vs-laravel-1af76c35d855


سید رضا موسوی
تخصص : برنامه
@rmtonliner 6 سال پیش مطرح شد
0

سلام
واقعا توضیح خوبی بود، دقیقا مشکل بنده هم در نداشتن منابع یادگیری جاوا برای وب هست، بی زحمت ابزارهای آموزشی برای spring رو بهم معرفی کنید.
با تشکر


hasan safiary
@hasansafiary 5 سال پیش مطرح شد
1

استفاده از stack java ee رو برای تولید پروژه ای سازمانی بزرگ من پیشنهاد میدم که از امکانات اپلیکیشن سرور ها بتونین استفاده کنین


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام