আমি কোনও আইফোন অ্যাপটিকে কেবল ওয়েব অ্যাপ্লিকেশন না করে পুরোপুরি জাভাস্ক্রিপ্টে কীভাবে লিখব?


84

আমি ওবজ-সি শিখতে সময় নিতে চাই না। আমি ওয়েব অ্যাপ্লিকেশন প্রোগ্রামিং করতে 7+ বছর অতিবাহিত করেছি। প্রকল্পের সংস্থান থেকে ফাইলগুলি টানতে, ওয়েবভিউ ব্যবহার করার এবং জাভাস্ক্রিপ্টে পুরো অ্যাপটি লেখার কোনও উপায় থাকা উচিত নয়?

উত্তর:


71

আশেপাশে অনুসন্ধানের পরে আমি উত্তরটি পেয়েছি। আমি যা করেছি তা এখানে:

  1. এক্সকোডে একটি নতুন প্রকল্প তৈরি করুন। আমি মনে করি আমি ভিউ-ভিত্তিক অ্যাপটি ব্যবহার করেছি।

  2. আপনার ইন্টারফেস এবং আকার পরিবর্তন করে একটি ওয়েবভিউ অবজেক্ট টানুন।

  3. ভিউডিডোড পদ্ধতিতে আপনার ওয়েবভিউকন্ট্রোলআরএম এর ভিতরে (বা আপনার নামের উপর নির্ভর করে অনুরূপ নামযুক্ত ফাইল):

    এনএসএসটিরিং * ফাইলপথ = [[এনএসবান্ডেল মেইনবান্ডেল] পাথের জন্য রিসোর্স: @ "ইনডেক্স" টাইপ: @ "এইচটিএমএল"];  
    এনএসডাটা * এইচটিএমএলডাটা = [এনএসডিটা ডেটাউথ কনটেন্টস অফফাইলে: ফাইলপথ];  
    যদি (এইচটিএমএল ডেটা) {  
      এনএসবান্ডেল * বান্ডিল = [এনএসবান্ডেল মেইনবান্ডেল]; 
      এনএসএসস্ট্রিং * পাথ = [বান্ডিল বান্ডেলপাথ];
      এনএসএসটিরিং * ফুলপথ = [এনএসবান্ডেল পাথফোরসোর্স: @ "সূচক" টাইপ: @ "এইচটিএমএল" ইনডাইরেক্টরি: পথ];
      [ওয়েবভিউ লোডরয়েউয়েস্ট: [এনএসআরএল অনুরোধ অনুরোধ উইথ URL: [এনএসআরএল ফাইল URL উইথপ্যাথ: পূর্ণপথ]]];
    }
  4. প্রকল্পের সংস্থান হিসাবে আপনি যে কোনও ফাইল যুক্ত করেছেন তা আপনার ওয়েব অ্যাপ্লিকেশনটিতে ব্যবহারের জন্য উপলব্ধ। আমি জাভাস্ক্রিপ্ট এবং CSS এবং ইমেজ ফাইল সহ কোনও সমস্যা ছাড়াই একটি সূচক। Html ফাইল পেয়েছি। আমি এখনও অবধি কেবলমাত্র সীমাবদ্ধতাটি খুঁজে পেয়েছি তা হল আমি নতুন ফোল্ডার তৈরি করতে পারছি না যাতে সমস্ত ফাইলগুলি সংস্থান ফোল্ডারে বিশৃঙ্খলা করে।

  5. কৌশল: নিশ্চিত হয়ে নিন যে আপনি ফাইলটি এক্সকোডে একটি উত্স হিসাবে যুক্ত করেছেন বা ফাইলটি উপলব্ধ হবে না। আমি এক্সকোডে একটি খালি ফাইল যুক্ত করছি, তারপরে আমার ফাইলটি অনুসন্ধানকারীর শীর্ষে টেনে আনছি। এটা আমার জন্য কাজ করে।

দ্রষ্টব্য: আমি বুঝতে পেরেছি যে ওবজ-সি শিখতে হবে না। তবে যেহেতু আমার কাছে ইতিমধ্যে জেএসে বিদ্যমান এই অ্যাপ্লিকেশনটি রয়েছে এবং আমি জানি যে এটি সাফারিতে কাজ করে এটি আমার জন্য অনেক দ্রুত ডেভ চক্র। কোনও দিন আমি নিশ্চিত যে আমাকে ভেঙে ওবজ-সি শিখতে হবে।

আমি অন্যান্য কয়েকটি সংস্থানগুলি সহায়ক বলে মনে করেছি:

জাভাস্ক্রিপ্ট থেকে ওবজে-সি কল করা: জাভাস্ক্রিপ্ট থেকে উদ্দেশ্য-সি কল করা

ওবজে-সি থেকে জাভাস্ক্রিপ্ট কল করা: ওয়েব হ্যাকারদের জন্য আইফোন অ্যাপ্লিকেশন বিকাশ

অ্যাপ্লিকেশন বান্ডেল থেকে ফাইলগুলি পড়া: uiwebview


আকর্ষণীয়ভাবে যথেষ্ট, আমি এই সপ্তাহান্তে গিটএক্স (স্ট্যান্ডার্ড ম্যাকোস অ্যাপ্লিকেশন) এর কোডটি দেখছিলাম এবং আমি মনে করি এটি তারা যা করে। wiki.github.com/pieter/gitx
প্যাট নটজ

4
বিশৃঙ্খলা সমস্যার জন্য, আপনার এক্সকোড প্রজে একটি ডিরেক্টরি যুক্ত করার চেষ্টা করুন এবং "পুনরাবৃত্তভাবে গ্রুপ তৈরি করুন ..." এর পরিবর্তে "ফোল্ডার রেফারেন্স তৈরি করুন ..." নির্বাচন করার চেষ্টা করুন।
ছন্দবদ্ধ ফিস্টম্যান

4
+1 এবং আমি নিশ্চিত যে আপনি অ্যান্ড্রয়েড ফোন অ্যাপ তৈরি করতে একই কৌশলটি ব্যবহার করতে পারেন pretty এবং সম্ভবতঃ, অন্যান্য স্মার্টফোনগুলি জাভাস্ক্রিপ্ট সমর্থন করার জন্য তাদের ব্রাউজারগুলি বিকশিত করবে এবং তারপরে আপনি তাদের সমর্থনও করতে পারেন। ক্রস প্ল্যাটফর্ম এইচটিএমএল / সিএসএস / জাভাস্ক্রিপ্ট একবিংশ শতাব্দীর উপায়। নিশ্চয় gnarly প্ল্যাটফর্ম-নির্দিষ্ট নেটিভ কোড ফ্যাশন বাইরে চলে গেছে অনেক আগে?
মার্কজে

22

Http://www.phonegap.com এ ফোনগ্যাপ চেক করে দেখুন তারা দাবি করে যে এটি আপনাকে জাভাস্ক্রিপ্ট, এইচটিএমএল এবং সিএসএস একটি স্থানীয় আইফোন অ্যাপ্লিকেশনটিতে এম্বেড করার অনুমতি দেয়।


7

আইফোন ২.১ (সম্ভবত 2.0) এ যারা করছেন তাদের জন্য, আপনার স্থানীয় ডেটা সঞ্চয় করার জন্য কোনও বিশেষ পরিষেবা তৈরি করার দরকার নেই। মোবাইলসফারি HTML5 / WHATWG এসকিউএল ডাটাবেস API সমর্থন করে বলে মনে হচ্ছে। এটি একই এপিআই হ'ল ডেস্কটপ সাফারি এবং ফায়ারফক্সের সাম্প্রতিক সংস্করণগুলি দ্বারা সমর্থিত।

আপনি যদি ডোজো বা এক্সট্রিজএসের মতো কোনও সরঞ্জামকিট ব্যবহার করেন যা কোনও স্টোরেজ বিমূর্তি সরবরাহ করে, আপনার কোডটি মোবাইলসফারি সহ কোনও আধুনিক ব্রাউজারে কাজ করা উচিত।

পরীক্ষা করতে, আপনার আইফোনে http://robertsanders.name/dev/stackoverflow/html5.html খুলুন ।

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

রুট # স্ক্লাইট 3 / প্রাইভেট / ভার / মোবাইল / লাইব্রেরি / ওয়েবেকিট / ডেটাবেসস / ডেটাবেসস.ডিবি এসকিউএল সংস্করণ 3.5.9 নির্দেশাবলীর জন্য ".হেল্প" লিখুন

sqlite>। ডেটাবেসেস seq নাম ফাইল


0 প্রধান / প্রাইভেট /var / মোবাইল / লাইব্রেরি / ওয়েবেকিট / ডেটাবেসস / ডেটাবেস.ডবি

স্ক্লাইট> টেবিল

ডাটাবেসগুলির উত্স

sqlite> ডাটাবেস থেকে * নির্বাচন করুন;

1 | http_robertsanders.name_0 | নোট টেস্ট | ডাটাবেস | এপিআই উদাহরণ | 20000 | 0000000000000001.db

sqlite> মূল থেকে * নির্বাচন করুন;

http_robertsanders.name_0 | 5242880


4

কোনও আপত্তি-সি না জেনে আপনি একটি অ্যাপ্লিকেশন তৈরি করতে পারেন। কুইকনিসেক্টফোন ফ্রেমওয়ার্ক আপনাকে এটি করতে অনুমতি দেয়। এটি কীভাবে ব্যবহার করা যায় সেইসাথে আপনার জিজ্ঞাসা করার অন্যান্য উপায়গুলির জন্য http://tetontech.wordpress.com দেখুন ।


2

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


2

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


2

বর্তমান অ্যাপল এপিআই এর সাথে এটি করার উপায় নেই। আপনার নিকটতম বাজিটি হ'ল একটি সাধারণ নেটিভ আইফোন অ্যাপ্লিকেশন লিখুন যা ওয়েবকিট ব্রাউজারটি এম্বেড করে। এটি আপনাকে স্থানীয়ভাবে আপনার এক্সএইচটিএমএল / জেএস অ্যাপ্লিকেশনটি ব্রাউজ করতে দেয়।

আপনি যদি ডেটা সঞ্চয় করতে চান তবে আপনাকে এটিকে আরও একধাপ এগিয়ে নিয়ে যেতে হবে এবং একটি হালকা ওজনের HTTP সার্ভার অন্তর্ভুক্ত করতে হবে যা আপনার অ্যাপ্লিকেশনটিকে সার্ভার করে এবং ডেটা সঞ্চয় এবং পুনরুদ্ধারের জন্য কল সরবরাহ করে। সম্ভবত আপনার জন্য আদর্শ সমাধান নয়, তবে সম্পূর্ণ ওবিজে-সি অ্যাপ্লিকেশনটির চেয়ে কম কাজ করা সম্ভব।

পার্শ্ব নোট হিসাবে, ওবজ-সি শিখতে মোটামুটি সহজ। এসডিকে প্রচুর উদাহরণ রয়েছে। সম্প্রদায়টি শক্তিশালী এবং দ্বিধা ছাড়াই ভাল উত্তর দেওয়া প্রশ্নের উত্তর দেবে।


আপনি জাভাস্ক্রিপ্টের জন্য WHATWG / HTML5 এসকিউএল স্টোরেজ এপিআইয়ের মাধ্যমে স্থানীয় সঞ্চয়স্থান ব্যবহার করতে পারেন। আরও তথ্যের জন্য আমার উত্তর দেখুন।
রবার্ট স্যান্ডার্স

1

আমি কিছুক্ষণ ধরে ফোনগ্যাপ ব্যবহার করছি এবং মনে হয় এটি আমার পক্ষে সেরা ফলাফল। আমি আমার অ্যাপ্লিকেশনটিতে একটি লিঙ্ক সহ এক সপ্তাহ বা তার মধ্যে আমার অভিজ্ঞতা পোস্ট করব।



1

টাইটানিয়াম মোবাইলও একটি বিকল্প - এটি আপনাকে জাভাস্ক্রিপ্ট লিখতে দেয় যা উদ্দেশ্য-সি তে অনুবাদ হয়।


এটি কি আসলেই উদ্দেশ্য-সি অনুবাদ করা হয়েছে? আমি মনে করি এটি ফোনগ্যাপের মতো একটি ওয়েব ব্রাউজার উপাদানটিতে চালিত।
জোনাস

0

কমপক্ষে আরও 2 জন ফোনগ্যাপের কথা উল্লেখ করেছেন, তবে আমি ভেবেছিলাম আমি এটিও পোস্ট করব এবং উল্লেখ করব যে অ্যাপল ফোনগ্যাপের কাঠামোটিকে অনুমোদন দিয়েছে। সুতরাং, এখন আপনি অ্যাপল দ্বারা আপনার অ্যাপ্লিকেশনটিকে প্রত্যাখ্যান করতে পারবেন না কারণ আপনি ফোনগ্যাপ ব্যবহার করছেন।

ফোনগ্যাপ এবং অ্যাপল সম্পর্কে ব্লগ পোস্ট - http://blogs.nitobi.com/jesse/2009/11/20/phonegapp-store-approval/

ফোন গ্যাপ হোম

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