আমি অ্যান্ড্রয়েড / আইফোন বিকাশে একটি কোর্স নিচ্ছি এবং আমরা টাইটানিয়ামের সাথে 8 সপ্তাহ কাটিয়েছি (পুরো সময় নয়) (সংস্করণটি টাইটানিয়াম ছিল 1.4.2 এবং নভেম্বর ২০১০ এর কাছাকাছি ছিল)। এখানে আমার অভিজ্ঞতা।
আইফোন অ্যান্ড্রয়েড দ্বৈত লক্ষ্য
যদিও এপিআই গাইডগুলি দাবি করে যে কার্যকারিতা অ্যান্ড্রয়েড এবং আইফোন উভয়ের জন্যই উপলব্ধ, তবে এটি এমন নয়। বেশিরভাগ স্টাফ কেবল প্ল্যাটফর্মগুলির একটিতে কাজ করে না। কিছু জিনিস আলাদাভাবে কাজ করে।
ক্লাসে প্রচুর লোকেরা আইফোন অ্যাপ্লিকেশনগুলি করেছেন এবং তারা এগুলি অ্যান্ড্রয়েডে বড় লেখার ছাড়াই কাজ করতে পারবেন না। আমি অ্যানিম্যাপ (অ্যান্ড্রয়েডের বাজার / সুইডেনে অ্যাপস্টোর দেখুন) নামে একটি সহজ শিশুদের অ্যাপ্লিকেশন তৈরি করেছি এবং উইন্ডোজের অধীনে বিকাশ শুরু করেছি। একবার অ্যান্ড্রয়েড টার্গেট কাজ করার পরে আমি ওএস এক্স এ প্রকল্পটি খুললাম It এটি কেবলমাত্র অ্যান্ড্রয়েডের জন্য আইফোনের জন্য কোনও বিল্ড স্টাফ দেখায় না। আপনাকে ওএস এক্স এর অধীনে দ্বৈত লক্ষ্য প্রকল্প শুরু করা দরকার ((ঠিক আছে, আমি প্রাসঙ্গিক ফাইলগুলি একটি নতুন প্রকল্পে অনুলিপি করেছি)। পরবর্তী সমস্যা - অ্যানিমেশনগুলি আইফোনে কাজ করে না (তারা Android এ কাজ করে) on স্ক্রোলিং ইভেন্টগুলি আইফোনে একই কাজ করে না। (অর্থাত্ অ্যান্ড্রয়েডে আপনি অচ্ছুত ইভেন্টটি পান যখন ব্যবহারকারী স্ক্রল করা বন্ধ করে এবং স্ক্রিন থেকে তাদের আঙুলটি ছেড়ে দেয়, আইফোনে এটি ঘটে না)।
যেহেতু এটি কোথাও উল্লেখ করা হয়নি, আপনাকে প্রথমে প্রথম প্ল্যাটফর্মে ট্রায়াল এবং ত্রুটি প্রোগ্রামিং করতে হবে, তারপরে অন্য প্ল্যাটফর্মে on ট্রায়াল এবং ত্রুটির দ্বারা আমি বোঝাতে চাইছি যে অনিম্যাপ অন্য প্ল্যাটফর্মটিতে কাজ করার মতো একটি সাধারণ অ্যাপ পেতে প্রায় দুই দিন সময় লাগবে। আপনার যদি (অ্যান্ড্রয়েড) এর পরেও থাকতে হবে ... বা যদি (আইফোন) ... আপনার কোডে সমস্ত ...
ডাউনলোড এবং সেটআপ
আপনি চিঠিটি নির্দেশাবলী অনুসরণ করতে হবে। জাভা 64 বিট ব্যবহার করার চেষ্টা করবেন না। এটি কিচেনসিঙ্ক 1.4.0 ডেমো অ্যাপ্লিকেশন সংকলন করবে না। (১.৩ ঠিক আছে!) আপনার অবশ্যই ফাইলগুলি সরাসরি সি ড্রাইভে লাগাতে হবে কারণ দীর্ঘ পথের নামগুলি বহিরাগত প্রোগ্রামটি দীর্ঘায়িত হলে সমস্ত কমান্ড লাইনের পরামিতিগুলি গ্রহণ না করে make (ছোট প্রোগ্রামগুলির জন্য দুর্দান্ত) যদিও 1/3 বার, টুলচেনটি কেবল বন্ধ হয়ে যায় এবং আপনাকে আবার 'লঞ্চ' টিপতে হবে। তাহলে এটি সম্ভবত কাজ করবে ... খুব অবিশ্বাস্য। সিম্যুলেটরটি প্রারম্ভকালে পাওয়া যাবে না এবং তারপরে আপনাকে অবশ্যই Ctrl + Alt + মুছুন এবং পুনরায় চেষ্টা করে adb.exe কে খুন করতে হবে।
নেটওয়ার্ক সংযোগ
একটি ওয়াইফাই-নেটওয়ার্কে আপনি কখনও কখনও লাইভ সংযোগটি হারিয়ে ফেলেন এবং টাইটানিয়াম আপনার উপর ক্র্যাশ হয়ে যায় (সংকলন / স্থাপন ইন্টারফেস) আপনার যদি ওয়ার্কিং ইন্টারনেট সংযোগ না থাকে তবে এটি আরম্ভ হবে না কারণ এটি আপনাকে তাদের সার্ভারগুলিতে লগ ইন করতে পারে না।
এপিআই
সিএসএস, এইচটিএমএল এবং jQuery এর তুলনায় একটি হাওয়া। টাইটানিয়াম অন্য যে কোনও পুরানো জিইউআই এপিআইয়ের সাথে সাদৃশ্যযুক্ত এবং প্রতিটি একক বোতাম / ক্ষেত্র / ইত্যাদির জন্য আপনাকে কিছু বৈশিষ্ট্য নির্ধারণ করতে হবে। কোনও ক্ষেত্রকে ভুল করা ঠিক সহজ, সেট করা দরকার এমন সমস্ত বৈশিষ্ট্য মনে রেখে? আপনি কি সঠিক জায়গায় বড় হাতের অক্ষর দিয়ে বানান করেছেন? (যেহেতু এটি সংকলকটি ধরা পড়ে না, তবে যদি আপনি সেই অংশটি পরীক্ষা করে ভাগ্যবান হন তবে রানটাইম ত্রুটি হিসাবে দেখা যাবে)
আপনি যখন নিয়ন্ত্রণের উপরে অন্য ভিউ যুক্ত করেন বা জিইউআই-তে অন্য কোথাও ক্লিক করেন তখন টাইটানিয়াম জিনিসগুলিতে কেবল বিরতি break
নথিপত্র
বেশ কয়েকটি এপিআই পৃষ্ঠাগুলি অ্যান্ড্রয়েড প্রতীক বহন করে তবে আপনি যখন নিয়ন্ত্রণটি তৈরি করার চেষ্টা করবেন তখন কেবল তা বাতিল হবে। এগুলি অ্যান্ড্রয়েড প্ল্যাটফর্মে প্রতীক থাকা সত্ত্বেও সহজলভ্য নয়। কখনও কখনও অ্যান্ড্রয়েড একটি নির্দিষ্ট পদ্ধতি সমর্থন না করার জন্য উল্লেখ করা হয়, কিন্তু তারপরে পুরো APIটি অনুপস্থিত।
রান্নাঘরের সিংক
ডেমো অ্যাপ্লিকেশন। আমি কী উল্লেখ করেছি যে পথটি দীর্ঘায়িত হওয়ার কারণে আপনি যদি এটিটিকে আপনার এক্লিপস প্রকল্প ফোল্ডারে রেখে দেন তবে এটি সংকলন করে না? রুট ফোল্ডারে অবশ্যই আপনার সি ড্রাইভ লাগাতে হবে। আমি বর্তমানে প্রতীকী লিঙ্কটি ব্যবহার করছি (এমকেলিঙ্ক / জে ...)
নথিভুক্ত পদ্ধতি
নির্ভরযোগ্য একটি লেবেল পরিবর্তন করার জন্য আপনাকে অবশ্যই লেবেল.সেটেক্সট ('হ্যালো ওয়ার্ল্ড') হিসাবে জিনিসগুলি ব্যবহার করতে হবে তবে এটি মোটেই ডকুমেন্টেড নয়।
ডিবাগ
টাইটানিয়াম.এপিআই.info ('মুদ্রণগুলি ডিবাগ করার একমাত্র উপায়');
সম্পাদনা করা
এপিআইগুলি কোনও ভাল ফর্ম্যাটে পাওয়া যায় না তাই আপনি গ্রহনে কোনও সাহায্যের সাহায্যে সাধারণ কোড-সমাপ্তি পেতে পারেন না। অপ্টানা দয়া করে সাহায্য করুন!
হার্ডওয়্যারের
দেখে মনে হচ্ছে যে সংকলক / সরঞ্জামগুলি মাল্টিথ্রেড করা হয়নি তাই দ্রুত হার্ডড্রাইভ সহ একটি দ্রুত কম্পিউটারের আবশ্যকতা, কারণ আপনাকে অবশ্যই প্রচুর পরীক্ষা এবং ত্রুটি করতে হবে। আমি কি দরিদ্র দলিলগুলির উল্লেখ করেছি? আপনি বিশ্বাস করতে না পারায় আপনাকে অবশ্যই সেখানে সবকিছু চেষ্টা করে দেখতে হবে!
কিছু ইতিবাচক বিষয়
- মুক্ত উৎস
পূর্ববর্তী প্রকল্পগুলি থেকে আমি নিজেকে প্রতিশ্রুতি দিয়েছি কখনই বন্ধ উত্সটি আর কখনও ব্যবহার করব না কারণ আপনি কেবলমাত্র ঘন্টা এবং জনশক্তি ফেলে জিনিস ঠিক করতে পারবেন না। আপনি যখন প্রকল্পে দেরী করছেন এবং একটি হার্ড সময়সীমার জন্য বিতরণ করা দরকার তখন গুরুত্বপূর্ণ। এটি ওপেন সোর্স এবং আমি দেখতে সক্ষম হয়েছি কেন সরঞ্জাম চেইনটি ভেঙে যায় এবং বাস্তবে এটিও ঠিক করে দেওয়া হয়।
Bugdatabase
এটিও উন্মুক্ত। আপনি কেবল দেখতে পাচ্ছেন যে আপনার একা নয় এবং পরীক্ষার এবং ত্রুটির জন্য আরও 4 ঘন্টা ব্যয় করার পরিবর্তে একটি কাজ করে do
সম্প্রদায়
- তাদের ফোরামে সক্রিয় বলে মনে হচ্ছে।
বাগ
- টাইটানিয়াম 1.4 থ্রেডসেফ নয় । এর অর্থ যদি আপনি থ্রেডগুলি ব্যবহার করেন (ইউআরএলটি ব্যবহার করুন: ক্রিয়েট উইন্ডো কল তে সম্পত্তি) এবং থ্রেডের মতো প্রোগ্রাম কাজ করছে এবং ডেটা সহ ইভেন্টগুলি প্রেরণ করে সামনে এবং পিছনে আপনি প্রচুর, খুব অদ্ভুত স্টাফগুলিতে ছুটে যাচ্ছেন - হারিয়ে যাওয়া হ্যান্ডলার, হারিয়ে গেছে উইন্ডোজ, অনেকগুলি ইভেন্ট, খুব অল্প ইভেন্ট, ইত্যাদি ইত্যাদি all এগুলি সমস্ত সময় নির্ধারণের উপর নির্ভর করে কোডের সারিগুলি বিভিন্ন ক্রমে রেখে দেওয়া আপনার অ্যাপ্লিকেশনটি ক্র্যাশ বা নিরাময় হতে পারে। অন্য ফাইল.জেজে উইন্ডো যুক্ত করা আপনার অ্যাপ্লিকেশন.জেএসের কার্যকারিতা ভেঙে দেয় ... এটি টাইটানিয়ামের অভ্যন্তরীণ ডাটাস্ট্রাকচারগুলিও ট্র্যাশ করে, কারণ তারা কখনও কখনও প্যারালেলে অভ্যন্তরীণ ডেটাস্ট্রাকচারগুলি আপডেট করতে পারে এবং অন্য কোনও কিছু দিয়ে স্রেফ পরিবর্তিত মানটিকে ওভাররাইট করে।
টাইটানিয়ামের সাথে আমার বেশিরভাগ সমস্যা ওএসইর মতো রিয়েলটাইম সিস্টেমে আমার পটভূমি থেকে আসে যারা কয়েকশ থ্রেড, ইভেন্ট এবং বার্তা প্রেরণকে সমর্থন করে। এটি টাইটানিয়াম 1.4 এ কাজ করার কথা রয়েছে তবে এটি নির্ভরযোগ্যভাবে এটি করে না।
জাভাস্ক্রিপ্ট (যা আমার কাছে নতুন) রানটাইম ত্রুটিতে চুপচাপ মারা যায়। এর অর্থ এটিও হ'ল ছোট এবং সাধারণ বাগগুলি যেমন একটি ভেরিয়েবলের নাম ভুল বানান করা বা নাল পয়েন্টারটিতে পড়া যেমন ক্র্যাশ হয় না তখন যখন আপনি এটি ডিবাগ করতে পারেন। পরিবর্তে আপনার প্রোগ্রামের অংশগুলি কেবল কাজ করা বন্ধ করে দেয়, উদাহরণস্বরূপ একটি ইভেন্ট হ্যান্ডলার, কারণ আপনি কোনও চরিত্রকে ভুল জায়গায় / ভুল টাইপ করেছেন।
তারপরে আমাদের কাছে টাইটানিয়ামে আরও সাধারণ বাগ রয়েছে, যেমন কিছু পরামিতি ফাংশনগুলিতে কাজ করে না (যা কমপক্ষে অ্যান্ড্রয়েড প্ল্যাটফর্মে বেশ সাধারণ)।
ট্রায়াল এবং ত্রুটি ডিবাগ চক্রের গতি বেশ কয়েকটি কম্পিউটারে টাইটিনিয়াম বিকাশকারী চালানোর পরে আমি লক্ষ্য করেছি যে বাধাটি হার্ডড্রাইভ। একটি ল্যাপটপে একটি এসএসডি ড্রাইভ 4200 আরপিএম ড্রাইভের চেয়ে বিল্ড চক্রটিকে প্রায় 3-5 গুণ দ্রুত করে তোলে। একটি ডেস্কটপে, RAID 1 (স্ট্রাইপিং মোড) এ দ্বৈত ড্রাইভ থাকা কিছুটা দ্রুত সিপিইউ সহ একটি ড্রাইভের চেয়ে বিল্ডটি প্রায় 25 শতাংশ দ্রুততর করে তোলে এবং এটি এসএসডি ড্রাইভ ল্যাপটপকেও মারধর করে।
সারসংক্ষেপ
- এই থ্রেডের মন্তব্যগুলি থেকে মনে হচ্ছে এটির মতো কোনও প্ল্যাটফর্মের সংখ্যার জন্য লড়াই লড়াইয়ের মতো হতে পারে app API এর সংখ্যাটি মূল বিক্রয়-পয়েন্ট বলে মনে হচ্ছে।
আপনি এটি ব্যবহার শুরু করার পরে এটি খুব কার্যকর হয়। আপনি যদি উন্মুক্ত বাগট্র্যাকারটির দিকে লক্ষ্য করেন তবে দেখতে পাবেন যে স্থির বাগের সংখ্যার তুলনায় বাগের সংখ্যা দ্রুত বাড়তে থাকে। এটি সাধারণত এমন একটি লক্ষণ যা বিকাশকারীরা বাগের সংখ্যা নামার দিকে মনোনিবেশ করার চেয়ে আরও বেশি কার্যকারিতা যুক্ত রাখে।
একজন পরামর্শক হিসাবে কোনও গ্রাহকের জন্য মাল্টিপ্লাটফর্মগুলিতে বরং সহজ অ্যাপ্লিকেশনগুলি সরবরাহ করার চেষ্টা করছেন - আমি নিশ্চিত নই যে এটি দুটি প্ল্যাটফর্মে নেটিভ অ্যাপ্লিকেশন বিকাশের চেয়ে আসলেই দ্রুত। এটি যখন আপনি গতি বাড়িয়ে তোলেন তখন আপনি টাইটানিয়ামের সাথে দ্রুত হন, তবে হঠাৎ আপনি নীচের দিকে তাকান এবং নিজেকে এমন গভীর গর্তে পেয়ে যান যে আপনি জানেন না যে কাজের ব্যপারে কত ঘন্টা ব্যয় করতে হবে। আপনি কেবল নির্দিষ্ট সময়সীমা / সময় / ব্যয়ের জন্য কোনও নির্দিষ্ট কার্যকারিতার প্রতিশ্রুতি দিতে পারবেন না।
আমার সম্পর্কে: ডাব্লুএক্সপিথন দিয়ে দু'বছর ধরে পাইথন ব্যবহার করে চলেছি। (যে জিইউআই অসংলগ্ন, তবে এর আগে কখনও ভেঙে যায় না It এটি আমারই হতে পারে যা জাভাস্ক্রিপ্ট এবং টাইটানিয়াম দ্বারা ব্যবহৃত থ্রেডিং মডেলটি আমি বুঝতে পারি নি, তবে আমি তাদের উন্মুক্ত আলোচনার ফোরাম অনুযায়ী একা নই, জিইউআই অবজেক্টগুলি হঠাৎ ভুল প্রসঙ্গটি ব্যবহার করছে / আপডেট হচ্ছে না .. ???) এর আগে আমার মোবাইল ডিভাইসগুলির জন্য সি এবং এএসএম প্রোগ্রামিংয়ের একটি পটভূমি রয়েছে।
[সম্পাদনা করুন - বাগের সাথে অংশ যুক্ত এবং থ্রেড নিরাপদ নয়] [সম্পাদনা করুন - এখন এটি একমাস ধরে কাজ করেছে, বেশিরভাগ পিসিতে, তবে কিছু ওএস এক্সেও রয়েছে। আইফোন এবং অ্যান্ড্রয়েড দ্বৈত লক্ষ্য যুক্ত করা হয়েছে। ট্রায়াল এবং ত্রুটি ডিবাগ চক্রের গতি যুক্ত করা হয়েছে]]