আমি জাভা ওয়েব অ্যাপ্লিকেশনগুলিকে 4+ বছর আগে অজগর থেকে সরিয়ে নেওয়ার আগে 10 বছর ধরে প্রোগ্রাম করেছিলাম। আমি অনুভব করি যে আমি পাইথন ব্যবহার করে অনেক বেশি উত্পাদনশীল এবং অল্প সময়ের মধ্যে আরও অনেক কিছু করতে পারি এবং সত্য কথা বলতে গেলে আমি পাইথনের বিকাশ করলে আমি অনেক বেশি খুশি। আমার ব্যক্তিগত অভিজ্ঞতার উপর ভিত্তি করে জাভা তখন জাফল ভাল বলে কিছু কারণ এখানে রইল, আপনার মাইলেজ খুব ভাল হতে পারে।
ওয়েব ফ্রেমওয়ার্ক:
আমি যখন জাভাতে প্রথম প্রোগ্রামিং ওয়েব অ্যাপ্লিকেশনগুলি শুরু করি, তখন স্ট্রুটস ঠিক বেরিয়ে এসেছিল এবং এটি দুর্দান্ত ছিল না, তবে এটি ছিল সেরা জিনিস। আমি একগুচ্ছ স্ট্রটস অ্যাপ্লিকেশন এবং কয়েকটা ফ্রেমওয়ার্কে তৈরি করেছি। যখনই কোনও নতুন কাঠামো বেরিয়ে আসল (টেপস্ট্রি, উইকেট, জিডাব্লুটিটি, স্ট্রাইপ, গ্রিলস, অ্যাপফিউজ, প্লে, রিচফ্রেসস, স্প্রিং ইত্যাদি), আমি এটি চেষ্টা করে দেখতাম এটি আরও ভাল ছিল কিনা এবং বেশিরভাগ সময় এটি কেবল কিছুটা ভাল ছিল , এবং কখনও কখনও মোটেও ভাল না। আমার বলতে হবে প্লে ফ্রেমওয়ার্কটি সঠিক দিকের এক ধাপ।
ব্যাটারি অন্তর্ভুক্ত নয়:
জাভার সবচেয়ে বিরক্তিকর অংশগুলির মধ্যে একটি এটি হ'ল আপনি যে লাইব্রেরিগুলি ব্যবহার করেন সেগুলির বেশিরভাগ জাভাতে অন্তর্ভুক্ত ছিল না, আপনাকে অ্যাপাচি কমনের মতো জায়গা থেকে এক টন তৃতীয় পক্ষের লিবস অন্তর্ভুক্ত করতে হয়েছিল। আপনি যদি অন্য কোনও বৃহত লাইব্রেরির সাথে হাইবারনেটের মতো কিছু ব্যবহার করেন তবে আপনি জার নির্ভরতা নরকে পৌঁছান, যেখানে হাইবারনেটের একটি জারের একটি সংস্করণ প্রয়োজন হয় এবং অন্য কোনও সংস্করণের প্রয়োজন হয়। যদি আপনি জার ফাইলগুলি ভুল ক্রমে লোড করেন তবে আপনার ভাগ্য থেকে দূরে। আপনার নির্ভরতাগুলি পরিচালনা করার জন্য আপনাকে ম্যাভেন এবং আইভির মতো সরঞ্জামগুলির উপর নির্ভর করতে হবে এবং এটি আপনার প্রকল্পে আরও নির্ভরতা নিয়ে আসে যার ফলস্বরূপ প্রকল্পগুলি বিশাল। সরল ওয়েব অ্যাপ্লিকেশনগুলির জন্য আমার কাছে কিছু যুদ্ধের ফাইল 100 এমবি + যুদ্ধ ফাইল ছিল।
অনেকগুলি বিকল্প:
কিছু কারণে জাভাতে একই জিনিসটি করার বিভিন্ন উপায় রয়েছে বলে মনে হচ্ছে। উইকিপিডিয়া ( http://en.wikedia.org/wiki/Compistance_of_web_application_frameworks#Java ) এবং 23 টি ভিন্ন ওআরএম-এর ( http://en.wikedia.org/wiki/List_of_object- সম্পর্কিত সম্পর্কিত_ম্যাপিং_সোফটওয়্যার ) অনুযায়ী জাভা জন্য 38 টিরও বেশি ওয়েব ফ্রেমওয়ার্ক রয়েছে # জাভা ) কেবল কয়েকটি উদাহরণের নাম দিন। আপনি যদি অন্যান্য ভাষার দিকে তাকান তবে তাদের আরও যুক্তিসঙ্গত সংখ্যা রয়েছে। কিছু লোক মনে করেন যে প্রচুর বিকল্প থাকা ভাল জিনিস তবে এটি বিকাশকারী সম্প্রদায়টিতে প্রচুর অপচয় করার প্রচেষ্টা বাড়ে না, প্রত্যেকে একই চাকা পুনরায় উদ্ভাবন করছে, এবং আপনি যদি ভাষাটিতে নতুন ব্যক্তি হন তবে অনেকগুলি বিকল্প থেকে বেছে নেওয়া।
অ্যাপ সার্ভারগুলি:
জাভা ওয়েব অ্যাপ্লিকেশনগুলি সত্যই ভারী, এবং চালানোর জন্য প্রচুর সংস্থান প্রয়োজন। তারা বিশেষত ক্ষুধার্ত স্মৃতি। সফ্টওয়্যারের যে কোনও অংশের মতো তাদের সুরক্ষার পদচিহ্ন হ্রাস করার জন্য সুর করা যেতে পারে, তবে অন্য ভাষার তুলনায় বক্স সেটআপের বাইরে সেগুলি ভয়াবহ। আমার অতীতে আমি ওয়েবলগিক, ওয়েবস্পিয়ার, জবস, টমক্যাট এবং জেটি ব্যবহার করেছি। আমি কেবল প্রথম তিনটি ব্যবহার করেছি যখন আমাকে ইজেবি ব্যবহার করতে বাধ্য করা হয়েছিল, তবে আপনি ইজেবি ব্যবহার না করলেও এগুলি বড় অ্যাপ্লিকেশন সার্ভার ছিল এবং কখনও কখনও সঠিকভাবে কনফিগার করা এবং চালিত হওয়া শক্ত ছিল। টমক্যাট এবং জেটি সেটআপের জন্য আরও ভাল এবং সহজ, তবে এখনও সংস্থান হগ।
অ্যাপ হোস্টিং:
আপনি যদি নিজের সার্ভারটি চালাচ্ছেন না তবে আপনার জাভা অ্যাপ্লিকেশনগুলির জন্য যুক্তিসঙ্গত মূল্যে ভাগ করে নেওয়া হোস্টিংটি পাওয়া সত্যিই কঠিন is এর মূল কারণ হ'ল জাভা অ্যাপ্লিকেশনগুলিকে অন্যান্য ভাষার তুলনায় অনেক বেশি মেমরির প্রয়োজন হয়, তাই কোনও ভাগ করা হোস্টিং সরবরাহকারীর জন্য তাদের মূল্যবান র্যাম একটি জাভা সাইট চালাতে ব্যয় করা অর্থহীন নয়, যখন তারা একই জায়গায় 5 পিএইচপি সাইট চালাতে পারে। এর অর্থ জাভা হোস্টিংয়ের প্রস্তাব দেওয়ার চেয়ে কম সরবরাহকারী রয়েছে, যার অর্থ আপনার ওয়েবসাইট চালানোর জন্য উচ্চ ব্যয়।
বিকাশের সময়:
আমি যখন জাভাতে বিকাশ করি, তখন আমি নিজেকে অনেক ধীর করে দেখি তখন পাইথনটিতে আমি কী করতে পারি। আমার একটি পরিবর্তন, সংকলন, পুনরায় চালনা এবং তারপরে পরীক্ষা করা দরকার এবং এটি পুনরাবৃত্তি প্রক্রিয়াটি ধীর করে দেয়। আমি জানি এটিকে আরও দ্রুত করার উপায় আছে তবে এটি সর্বোত্তম হলেও আমি পাইথনটিতে যা করতে পারি তার পরে আমি অনেক ধীর হয়ে গিয়েছিলাম।
পাইথনে একই জিনিসটি করার জন্য অনেক কম বয়লারপ্লেট কোড রয়েছে, তাই আমি কোডটি বিকাশে কম সময় ব্যয় করি।
জাভা কেবলমাত্র অনেকগুলি অংশে ইঞ্জিনিয়ারড অনুভব করে, অনেক কিছু এপিআই এবং ইন্টারফেসগুলি আপনি যা করতে চান তা জটিল করার একমাত্র উপায়। এবং প্রত্যেকে এবং তাদের ভাই ভাবেন যে তারা একটি জাভা স্থপতি এবং এর ফলে এমন জটিল জটিল ব্যবস্থাগুলি তৈরি হয়েছে যা ব্যবহার করা এবং এর সাথে বিকাশ করা শক্ত।
আইডিই:
আমি যখন জাভাতে বিকাশ করছিলাম তখন আমি আইডিইতে আটকে গিয়েছিলাম, এটি ছাড়া আমি হারিয়ে গেলাম। ইন্টেলিজি বাজারে সেরা আইডিই এবং এটি পাইথনটিতে স্যুইচ করা শক্ত ছিল কারণ পাইথনের মতো কিছু ছিল না। সুতরাং একটি আইডিই পরিবর্তে, আমি কেবল টেক্সটমেট ব্যবহার করেছি, এটি কেবলমাত্র একটি সাধারণ পাঠ্য সম্পাদক। এটি প্রথমে কঠোর ছিল, তবে এটি কেবল একটি পাঠ্য সম্পাদক হিসাবে, এটি একটি সত্যই দ্রুত এবং প্রতিক্রিয়াশীল অ্যাপ্লিকেশন ছিল। আমি আমার পুরো প্রকল্পটি কয়েক সেকেন্ডের মধ্যে খুলতে পারি, আমি যখন কোনও আইডিইতে কোনও প্রকল্প খুলতে চাই তখন এটি একটি টন র্যাম সহ একটি মেশিন সহ এক মিনিট বা আরও বেশি সময় নিতে পারে। ইন্টেলিজির নির্মাতারা পাইচার্ম নামে একটি অজগর সম্পাদক নিয়ে বেরিয়ে এসেছিলেন, এটি প্রথম প্রকাশের সময় আমি এটি কিনেছিলাম, এবং এটি দুর্দান্ত। তবে আমি যেটা বুঝতে পেরেছিলাম তা হল পাইথনের জন্য আমার আইডিই লাগবে না, আমি একটি টেক্সট এডিটর দিয়ে ঠিক আছি। আমি যখন জাভা ওয়েব অ্যাপ্লিকেশনগুলিতে কাজ করতে ফিরে যাই যা সময়ে সময়ে আমার করতে হয়, আমি টেক্সট সম্পাদকটি ব্যবহার করার চেষ্টা করি, তবে আমি এখনও তেমন আয়ত্ত করতে পারি নি। আমার ব্যক্তিগতভাবে জাভাটির জন্য আইডিই বেশি প্রয়োজন কারণ আমি যদি কোনও কিছু গণ্ডগোলিত করি তবে এটি পুনরায় সংশোধন করতে এবং পুনরায় চালিত হতে বেশি সময় নেয়, যা আমাকে ধীর করে দেয়।
ORM:
আমি যখন প্রথম হাইবারনেটকে ওআরএম হিসাবে ব্যবহার শুরু করি তখন আমি ভেবেছিলাম এটি দুর্দান্ত, এটির সমস্যা ছিল এবং এটি নিখুঁত ছিল না তবে আমি আগে যা করছিলাম তা তার চেয়ে ভাল। আমি এতে সন্তুষ্ট ছিলাম, যতক্ষণ না আমি অজগর প্রকল্পে জ্যাঙ্গোর ওআরএমের সাথে একটি আবেদন করেছি এবং এটি আমার চোখ খুলে দিয়েছে, এইভাবেই কোনও ওআরএম কাজ করার কথা। এই প্রকল্পের পরে আমি হাইবারনেটে ফিরে গেলাম, এবং আমি কেবল হতাশ হয়েছি এবং জ্যাঙ্গোর ওআরএম-তে ফিরে যাওয়ার জন্য আকুল হয়েছি। আরেকটি দুর্দান্ত পাইথন ওআরএম স্ক্ল্যাচলেমি, যা জ্যাঙ্গোর ওআরএম এর মতো, তবে কিছুটা আলাদা। আরওআর এর ওআরএম নিয়ে আমার সীমিত অভিজ্ঞতা আছে তবে আমার যা মনে আছে তা থেকে এটি বেশ দুর্দান্ত ছিল।
টেমপ্লেট:
জাভাতে ওয়েব টেম্প্লেটিং সিস্টেমগুলি এতটা ভাল নয় এবং আমি মনে করি যে আমি সেগুলি সবই চেষ্টা করেছি (টাইলস, ফ্রিমার্কার, বেগ, ইত্যাদি)। তাদের বেশিরভাগই কেবলমাত্র প্রাথমিক কার্যকারিতা সরবরাহ করে এবং এটি নিয়ে কাজ করার জন্য একটি ব্যথা। পাইথনের দিকে, আমার দুটি প্রিয় জ্যাঙ্গো টেম্পলেট এবং জিনজা 2, তাদের টেম্প্লেটিং ইঞ্জিনে আমার প্রয়োজন হতে পারে এমন সমস্ত কিছু রয়েছে এবং এটি ব্যবহার করা সত্যিই সহজ।