آفلاین
user-avatar

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

1 سال پیش
توسط hasan safiary آپدیت شد
آفلاین
user-avatar
سید رضا موسوی ( 6567 تجربه )
2 سال پیش
تخصص : برنامه

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

بهترین پاسخ انتخاب شده توسط سید رضا موسوی
آفلاین
user-avatar
حسام موسوی
2 سال پیش

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

آفلاین
user-avatar
حسام موسوی ( 382959 تجربه )
2 سال پیش
تخصص : طراح و برنامه نویس

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

آفلاین
user-avatar
سید رضا موسوی ( 6567 تجربه )
2 سال پیش
تخصص : برنامه

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

آفلاین
user-avatar
مهدی طهرانی ( 18476 تجربه )
2 سال پیش
تخصص : cloud architect

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

آفلاین
user-avatar
سید رضا موسوی ( 6567 تجربه )
2 سال پیش
تخصص : برنامه

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

آفلاین
user-avatar
مهدی طهرانی ( 18476 تجربه )
2 سال پیش
تخصص : cloud architect

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

آفلاین
user-avatar
حسام موسوی ( 382959 تجربه )
2 سال پیش
تخصص : طراح و برنامه نویس

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

آفلاین
user-avatar
سید رضا موسوی ( 6567 تجربه )
2 سال پیش
تخصص : برنامه

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

آفلاین
user-avatar
مهدی طهرانی ( 18476 تجربه )
2 سال پیش
تخصص : cloud architect

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

آفلاین
user-avatar
مهدی طهرانی ( 18476 تجربه )
2 سال پیش
تخصص : cloud architect

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

آفلاین
user-avatar
Nima ( 148 تجربه )
2 سال پیش

سلام برای برنامه نویس وب با جاوا انتخاب های زیادی داری که من میتونم راهنمایی کنم چند مثال برات میزنم :
۱- با 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

آفلاین
user-avatar
سید رضا موسوی ( 6567 تجربه )
2 سال پیش
تخصص : برنامه

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

آفلاین
user-avatar
hasan safiary ( 5270 تجربه )
1 سال پیش

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

برای ارسال پاسخ باید وارد سایت شوید