উইন্ডোজ ডেস্কটপ অ্যাপ্লিকেশনগুলির জন্য রানটাইম / ভাষা চয়ন করার সময় কোন বিষয়গুলি বিবেচনা করতে হবে?


10

আমার ব্যবহারকারীদের সকলের উইন্ডোজ রয়েছে। তাদের মধ্যে কেউ লিনাক্স বা ম্যাক ব্যবহার করেন তবে তারা যদি তা করেন তবে তারা সাধারণত মনো, ওয়াইন, সমান্তরাল বা ডুয়াল-বুটের মতো কিছু ব্যবহার করতে সক্ষম হন।

আমার ডেভেলপমেন্ট টিমের (নিজেকে সহ) জাভাতে সুইং অ্যাপ্লিকেশন পাশাপাশি সি # তে উইন্ডোজ ফর্ম দুটি লেখার বিস্তৃত অভিজ্ঞতা রয়েছে। "বিস্তৃত" এর অর্থ আমরা দুটি রানটাইমে তিনটি অ্যাপ্লিকেশন বিকাশ করেছি এবং শিপ করেছি। অ্যাপ্লিকেশনগুলি প্রযুক্তিগত বিশ্লেষণ অ্যাপ্লিকেশন, সুতরাং ডাটাবেস মিথস্ক্রিয়ায় হালকা তবে কাস্টম ইউআই এবং ডেটা সেট আকারের ক্ষেত্রে ভারী।

আমরা সেই পর্যায়ে আসছি যেখানে আমরা এখন থেকেই কোন প্ল্যাটফর্মটির দিকে ফোকাস করার বিষয়ে সিদ্ধান্ত নিতে চাই, যেহেতু এটি উভয়কেই সমর্থন করার বোঝা হয়ে দাঁড়িয়েছে (আপনি যদি অর্ধ বছর ধরে সুইংয়ে কাজ করছেন তবে এটি খুব ঝামেলা করছে) আবার উইন্ডোজ ফর্মগুলির সাথে এবং অন্যান্য উপায়ে অভ্যস্ত হয়ে উঠতে) এবং আমরা চাই আমাদের দলের সবাই আমাদের সমস্ত অ্যাপ্লিকেশনগুলিতে কাজ করতে সক্ষম হয়ে উঠুক।

  • উইন্ডোজ ফর্মগুলি স্বীকৃত উইন্ডোজ অ্যাপ্লিকেশনগুলি তৈরি করতে সাধারণত কম কাজ নেয়। জাভাতে ত্বকের পরিমাণ এবং কাস্টম নিয়ন্ত্রণের পরিমাণগুলি কয়েক বছর ধরে এটি সমাধান করে নি। একই সময়ে, আমাদের কোনও গ্রাহক কখনও নেই যা সুইং অ্যাপ্লিকেশনগুলি ব্যবহার করতে পারে না।
  • জাভা লাইব্রেরি এবং স্বয়ংক্রিয় বিল্ড সরঞ্জামগুলির ক্ষেত্রে অনেক বেশি সমৃদ্ধ বাস্তুতন্ত্রের ব্যবহার করত, তবে এটি দ্রুত বদলে যাচ্ছে (জাভা নামছে না, এটি আরও বেশি। নেট এটি ধরছে)।
  • মাল্টিপ্লাটফর্মটি পছন্দ করা যায় এমন বিরল ক্ষেত্রে জাভা হিট করে N মনো অসাধারণ, তবে এটি জাভা থেকে আরও বেশি কাজ করে।

আমরা যদি নেট নির্বাচন করি তবে আমরা ডাব্লুপিএফ-তে ফোকাস করা শুরু করতে পারি, তবে এফ # ব্যবহার শুরু করতে পারি। আমরা যদি জাভা বেছে নিই, আমরা আরসিপিতে ফোকাস করা শুরু করতে পারি, তবে স্কালা ব্যবহার শুরু করতে পারি।

কারও কি এই জাতীয় সিদ্ধান্ত নিতে হয়েছিল? যদি তা হয় তবে এটি কী ছিল এবং কী আপনাকে সবচেয়ে বেশি প্রভাবিত করেছিল? আমি কোন শীর্ষ উদ্বেগ মিস করছি?

(দয়া করে নোট করুন: প্রোগ্রামার্স.এস.এস. তে ইতিমধ্যে কিছু অনুরূপ প্রশ্ন রয়েছে তবে তারা হয় গঠনবিরোধী বা অন্য কোনও কোণ থেকে))


2
পড়ার সূচনা থেকে আমি বিশ্বাস করি যে শিরোনামটি হওয়া উচিত "উইন্ডোজ ডেস্কটপ অ্যাপ্লিকেশনটির জন্য রানটাইম / ভাষা চয়ন করার সময় আমার কোন বিষয়গুলি সম্পর্কে চিন্তা করা উচিত?" , আপনার প্রশ্নের সিদ্ধান্ত গ্রহণের দিকটিতে আরও ফোকাস করা। এটি উত্তর দেওয়া অনেক সহজ এবং "আমার কী ব্যবহার করা উচিত?" - এর চেয়ে কম সংক্রামক শিরোনামটি বোঝায় বলে মনে হচ্ছে kind
স্পোকাইক

@ এসপাইক গ্রেট পয়েন্ট, আমি শিরোনাম আপডেট করেছি (এটিকে কিছুটা ছোট করে দিয়েছি)।
ডেকার্ড

1
এই লিঙ্কটিতে উইন্ডোজের ভবিষ্যত সম্পর্কে কিছু থাকতে পারে যা আপনার ছেলের জন্য অত্যন্ত গুরুত্বপূর্ণ আইএমএইচও- zdnet.com/blog/microsoft/…
গুলশান

ম্যাক ব্যবহারকারীদের ওয়াইন ইনস্টল করতে এবং উইন্ডোজ অ্যাপ্লিকেশন চালাতে বাধ্য করা তাদের অত্যাচার করার মতো।
ডানফোন

উত্তর:


7

আমরা জাভা (সুইং) এর সাথে জেএনআইয়ের মাধ্যমে কিছু নেটিভ অংশে গিয়েছিলাম। যদিও আজ মাল্টিপ্লাটফর্মের বাণিজ্যিক চাহিদা প্রান্তিক হতে পারে, তবে পরিস্থিতিটি পাঁচ বছরে আলাদা হতে পারে এবং অ্যাপটির (একটি বৈজ্ঞানিক পরিমাপ অ্যাপ্লিকেশন) জীবনচক্রটি আরও 10+ বছরের মতো হতে চলেছে (এর সি ++ পূর্ববর্তী, এখনও ব্যবহৃত, বর্তমানে) 1991 সালের উত্স ফাইলগুলি)। যেমন আপনি লিখেছেন, জাভাটি উইন্ডোজবিহীন পরিবেশে নীচে নেমে আসে এবং আমাদের যদি কখনও উইন্ডোজ থেকে সরে যেতে হয় তবে এটি কিছু দেশীয় অংশ পুনরায় সংকলন করার বিষয়, সম্ভবত জিইউআই চেহারাটি সূক্ষ্ম-সুরকরণ, এবং এটি যাচাই করা উচিত সবকিছু সচল.

আপনি যদি নিশ্চিত হন যে আপনি কেবল উইন্ডোজ হবেন, এবং আপনার অ্যাপ্লিকেশনটি কয়েক বছর বেঁচে থাকবে, তবে। নেট পছন্দ হতে পারে - এটি দেখতে একটি স্থানীয় অ্যাপ্লিকেশনটির মতো দেখায় এবং আচরণ করে কারণ এটি। তবে দীর্ঘমেয়াদী বিনিয়োগ হিসাবে আমি জাভাকে বেশি বিশ্বাস করি। সুইং নিখুঁত থেকে কিছুটা কম দেখায়, স্টার্ট-আপ সময়টি আরও দীর্ঘ হতে পারে, মাল্টিপ্লাটফর্ম অ্যাবস্ট্রাকশন স্তরের কারণে সবকিছু কিছুটা সাব-অনুকূল হয় তবে অন্তত এটি "কেবলমাত্র কাজ করে"।


2
কোন উপায়ে জাট-র চেয়ে একটি নেট নেট অ্যাপ্লিকেশনটি একটি দেশীয় উইন্ডোজ অ্যাপ?
রে মিয়াসাকা

@ রি: এটিতে। নেট নেট ফ্রেমওয়ার্কটি কেবল উইন্ডোজে উপলব্ধ। অবশ্যই, মনো আছে, তবে এটি সর্বদা পিছিয়ে থাকে এবং বর্তমানে এটির ভবিষ্যত ভাল, অনিশ্চিত।
ট্যামস সেজেলি

1
@ ট্যামস এটি সম্পূর্ণ আলাদা এবং ঘটনামূলক বিষয়। কোডগুলির প্রথম কয়েকটি বাইট বাদে .exes যা "এই প্রোগ্রামটি ডস মোডে চলতে পারে না print" মুদ্রণ করে, প্রোগ্রামটি এখনও সম্পূর্ণরূপে বাইট কোড। একটি জাভা লাইব্রেরি উইন্ডোজের ঠিক নেট নেট হিসাবে অনেকটা হলেও, বাস্তবায়ন না হওয়ার কারণে বিপরীতটি অসত্য হতে পারে।
রেই মিয়াসাকা

4

আপনি যে বিষয়টি বিবেচনা করতে চাইতে পারেন তা হ'ল আইকেভিএম প্রকল্প যা আপনাকে একটি নেট নেট ওয়ার্ল্ডে জাভা কোড ব্যবহার করার অনুমতি দেয়। তারপরে আপনি জাভা ব্যাকএন্ডের সুবিধাগুলি পেতে পারেন, আমার ধারণা অনুসারে - আপনি সুইং বা উইনফর্মগুলিতে একটি পাতলা ফ্রন্টলেয়ার পেতে পারেন।

http://www.ikvm.net/

আমি শুনেছি যে অন্যরা এটিকে ভারী .NET সংস্করণটি ব্যবহার করার পরিবর্তে .NET থেকে জাভাতে লেখা একটি ওপেন সোর্স সংযোগ লাইব্রেরি ব্যবহার করতে ব্যবহার করেছে।


3

এমএসডিএন-তে এমন একটি সংস্থান রয়েছে যা আপনার পক্ষে কার্যকর হতে পারে: http://msdn.microsoft.com/en-us/gg715299.aspx

আপনি যদি পৃষ্ঠার নীচে যান তবে আপনি একটি গুচ্ছ হোয়াইটপেপারগুলি দেখতে পাবেন যা জাভা এবং .NET কে ধারণাগতভাবে তুলনা করে। অবশ্যই এটি এমএসডিএন এ থাকায় এটি নেট .NET এর পক্ষপাতদুষ্ট, তবে সংস্থানগুলি এখনও বেশ কার্যকর।


1

আমি এটি সম্পর্কেও কিছু চিন্তাভাবনা করেছি এবং আমি খুঁজে পেয়েছি উত্তরটি প্রকল্পের ধরণের এবং আপনি এটি সম্পর্কে কী পূর্বাভাস দিতে পারেন তার উপর নির্ভর করে।

কখনও কখনও, সমস্ত প্ল্যাটফর্মগুলিতে পরিষেবা দেওয়ার জন্য একটি কোডবেস তৈরি করা ভাল জিনিস - আপনি কম সামগ্রিক কোডের সাথে কিছু স্তরের UI ধারাবাহিকতা পান। আমি মনে করি সুবিধাগুলি এবং অসুবিধাগুলি সুস্পষ্ট, তাই আমি এড়িয়ে যাব।

এমন সময়গুলি থাকে যখন 2 টি দেশীয়-লিখিত কোড বেস থাকা ভাল। উদাহরণস্বরূপ, যদি ডাব্লুপিএফ-এ আপনার অ্যাপ্লিকেশনটি লিখিত .NET এর জন্য মার্জিত হয় এবং এটি লিখতে বলুন, কোকোয়া ম্যাক ওএসের জন্য মার্জিত, ফলস্বরূপ কোডটি জাভা বা মনো (যা নেই) ব্যবহারের চেয়ে আসলে ছোট হতে পারে WPF)। যে ক্ষেত্রে, আপনি পারে কম কোড সহ ভাল ফলাফল পেতে।

একটি চূড়ান্ত বিবেচনাটি সম্ভবত আপনার অ্যাপ্লিকেশনটিকে এইচটিএমএল 5 অ্যাপ্লিকেশন হিসাবে বা ক্রোম এক্সটেনশান হিসাবে করছে, তবে এটি খুব বাম ক্ষেত্র হতে পারে।


1

আপনি সিলভারলাইট বিবেচনা করেছেন ? এটি উইন্ডোজ ডেস্কটপ অ্যাপ্লিকেশনটি (এসএল 4 + থেকে) বিল্ড করার জন্য এবং ম্যাকের ক্ষেত্রে সূক্ষ্মভাবে কাজ করার জন্য একটি ভাল পছন্দ হতে পারে।


এসএল প্রায় মারা গেছে ..
কেএলএম_২৩

মাইক্রোসফ্ট তাই মনে করে না। ব্যক্তিগতভাবে আমার মনে হয় ওয়েব অ্যাপের জন্য এইচটিএমএল 5 প্রথম পছন্দ তবে ক্লায়েন্ট সাইড এসএল একটি ভাল টেকনোলজি হতে পারে।
এডিমো

আমি এইচটিএমএল 5-তেও যাব, কারণ এটি ডাব্লু 3 ওও সমর্থন করে। সিলভারলাইট এইচটিএমএল 5 এর সাথে প্রতিযোগিতায় রয়েছে এবং যদি এটি একটি কুলুঙ্গি ডিংস না করে তবে এটি মারা যাবে, আমি মনে করি।
klm_

1

পুরো সময়ের জাভা বিকাশকারী হিসাবে আমি আপনাকে বলতে পারি যে ক্রস-প্ল্যাটফর্মের সামঞ্জস্যটি আশ্চর্যজনক হলেও প্রতিটি নেটিভ সংহতকরণ নরক

আমার সবসময়ই অনেক সমস্যা ছিল, এবং কখনও কখনও ব্যর্থও হয়েছিল ground আপনার এটির প্রয়োজন নাও হতে পারে তবে কখনও কখনও আমি এতে হোঁচট খায় এবং এটি সাধারণত ব্যথা করে।

  • সিওএমের সাথে সংহতকরণ ব্যথা হয় এবং সিওএম + কখনও কখনও অসম্ভব হয়ে থাকে (উইন্ডোজ ট্যাবলেট এপিআইয়ের সাথে এটির কাজ করার চেষ্টা করা নষ্ট সপ্তাহ)।
  • হার্ডওয়্যার মিথস্ক্রিয়া আঘাত করতে পারে। কখনও কখনও এপিআই কেবল একটি প্ল্যাটফর্মে উপলব্ধ (যেমন ক্যামেরা / স্ক্যানার ইন্টিগ্রেশন)।
  • স্থানীয় অ্যাপ্লিকেশনগুলির সাথে মিথস্ক্রিয়াটিও ক্ষতি করতে পারে। আমি কি সিওএম ব্যথা উল্লেখ করেছি? ওয়েল, অন্য একটি উপায় (যা আমরা প্রকৃতপক্ষে ব্যবহার করেছি) তা ছিল ভিপিএস স্ক্রিপ্টগুলি তৈরি করা এবং চালিত করা যা উইন্ডোজ অ্যাপ্লিকেশন যেমন ম্যাপপয়েন্ট বা কিছু মালিকানাধীন ম্যাপিং অ্যাপ্লিকেশন চালু করে এবং ডেটা দিয়ে এটি ফিড করে।
  • ইনস্টলেশন এবং ডেস্কটপ একীকরণ (শর্টকাট, আনইনস্টলার, মেনু স্টার্ট) খুব ক্ষতি করতে পারে। ওয়েব স্টার্ট খুব বিশ্বাসযোগ্য নয়। বিকল্পগুলির হয় হয় আপনার খুব বেশি খরচ হয়, বা কিছু বৈশিষ্ট্য (আপডেট বিতরণের মতো) অনুপস্থিত।

আমাকে ভুল করবেন না আমি একটি জাভা বিকাশকারী এবং এটি শিখা বোঝাতে চাই না। আমি কেবল এটিই বলছি যে যদি আপনি সন্দেহ করেন যে আপনার উপরের যে কোনওটির প্রয়োজন হবে তবে এটি ক্ষতিগ্রস্থ হতে পারে এবং আপনি নেট থেকে ভাল হতে পারেন । কমপক্ষে এটি একটি যুক্তি যা আপনার বিবেচনায় নেওয়া উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.