javascript - tutorial - w3schools




শুধুমাত্র একক পৃষ্ঠা অ্যাপ্লিকেশন(SPAs) জন্য AngularJS হয়? (4)

আমি প্রথমে কিভাবে Angular সঙ্গে "কিভাবে" সঙ্গে সংগ্রাম। তারপর একদিন আমার উপর ডুবলো: "এটা এখনও জাভাস্ক্রিপ্ট"। এঙ্গুলারের ইন-ও-আউটগুলির উদাহরণগুলির একটি গুচ্ছ আছে ( https://github.com/angular-app/angular-app বই সহ আমার পছন্দসইগুলির মধ্যে একটি)। মনে রাখবেন সবচেয়ে বড় জিনিসটি অন্য যে কোনও প্রকল্পে ঠিক যেমন জেএস ফাইলগুলিতে লোড করা হয়। আপনাকে যা করতে হবে তা নিশ্চিত করুন যে বিভিন্ন পৃষ্ঠাগুলি সঠিক কৌণিক বস্তুর (নিয়ামক, দৃশ্য, ইত্যাদি) উল্লেখ করে এবং আপনি বন্ধ এবং চলমান। আমি এই জ্ঞান করে তোলে আশা করি, কিন্তু উত্তর আমি এটা উপেক্ষা করা তাই সহজ ছিল।

আমরা যে অ্যাপ্লিকেশনটি তৈরি করছি তার প্রথম অংশটি নির্মাণের জন্য আমরা বিকল্পগুলি সন্ধান করছি এবং এমন একটি সরঞ্জাম মূল্যায়ন করার চেষ্টা করছি যা আমাদের জন্য কাজ করবে এবং এগিয়ে যাওয়ার জন্য আমাদের সেরা প্ল্যাটফর্ম দেবে।

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

আমরা কয়েকটি ফ্রেমওয়ার্ক দেখেছি যা আমরা Backbone.js , Meteor , ইত্যাদি এবং এঙ্গুলার জেএস এর মতো ক্লায়েন্ট তৈরি করতে ব্যবহার করতে পারি।

এটি একটি মোটামুটি সুস্পষ্ট প্রশ্ন হতে পারে, কিন্তু যদি AngularJS একক পৃষ্ঠা অ্যাপ্লিকেশনের জন্য সম্পূর্ণরূপে বিবেচিত না হয় তবে এটি এক্সপ্রেস উদাহরণস্বরূপ বহু পৃষ্ঠা অ্যাপ্লিকেশনের জন্য ব্যবহার করা যেতে পারে।

আপডেট 17 জুলাই 2013 মানুষকে লুপে রাখার জন্য, আমরা এই প্রশ্নটি আপডেট করবো যখন আমরা প্রক্রিয়াটি চালিয়ে যাব। আমরা এখন সবকিছু একসঙ্গে নির্মাণ করতে যাচ্ছি, এবং আমরা দেখব যে এটি কতটা ভাল। আমরা এমন কিছু লোকের কাছে পৌঁছেছি যারা আমাদের চেয়ে AngularJS এর ​​সাথে বেশি যোগ্যতা অর্জন করেছে এবং প্রসঙ্গগুলি ভাগ করে নেওয়ার বড় অ্যাপ্লিকেশনগুলি ভাগ করে নেওয়ার প্রশ্নটি উত্থাপিত করেছে, তবে এক পৃষ্ঠায় খুব বড় কাজ করতে পারে।

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

18 জুন 2016 আপডেট প্রকল্পটি একটি খিলানের পতন ঘটেছিল, তাই আমরা খুব বেশি কাজ করার জন্য বৃত্তাকার হয়ে যাই নি। আমরা সম্প্রতি এটি আবার বাছাই করেছি, কিন্তু এখন আর কৌণিক ব্যবহার করে না এবং এর পরিবর্তে প্রতিক্রিয়া ব্যবহার করছি। আমরা এখনও পূর্ববর্তী আপডেটে বর্ণিত আর্কিটেকচারটি ব্যবহার করছি, যেখানে আমরা এক্সপ্রেস এবং স্ব অ্যাপগুলি ব্যবহার করে থাকি, উদাহরণস্বরূপ, আমাদের অ্যাক্সেসের সাথে চ্যাট /chat রুট আছে যা আমাদের প্রতিক্রিয়া চ্যাট অ্যাপটি সরবরাহ করে, আমাদের অন্য একটি রুট /projects যা কাজ করে প্রকল্প অ্যাপ্লিকেশন এবং তাই। আমরা এটির দিকে তাকানোর উপায়টি হল এটির বৈশিষ্ট্য সেটের পরিপ্রেক্ষিতে প্রতিটি অ্যাপ্লিকেশনটি একটি সমষ্টিগত রুট, এটি নিজের মধ্যে একটি অ্যাপ্লিকেশন হিসাবে বিবেচনার জন্য স্বতন্ত্র সক্ষম হওয়া দরকার। টেকনিক্যালি, সমস্ত তথ্য সেখানে রয়েছে, এটি কেবলমাত্র মৌলিক এক্সপ্রেস এবং ক্লায়েন্ট পার্শ্ব অ্যাপ্লিকেশন বিল্ডিং যা আপনি ব্যবহার করতে চান সেটির স্বাদ।


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

Vue.js দুটি উপায়ে ডেটা বাইন্ডিং, এমভিভিএম, পুনঃব্যবহারযোগ্য উপাদান, সহজ এবং দ্রুত পিকআপ, লিখতে কম কোড, ইত্যাদি ব্যবহার করে। এটি এঙ্গুলার এবং প্রতিক্রিয়াগুলির কিছু সেরা বৈশিষ্ট্যকে একত্রিত করে।

Aurelia.io , সব সততা, আমি সম্পর্কে অনেক কিছু জানি না। কিন্তু আমি চারপাশে peeked করেছি এবং এটি উপরের বিকল্প অনুরূপ একটি বিকল্প মূল্য মনে হচ্ছে।

লিঙ্ক:
https://vuejs.org/
http://aurelia.io/


ক্লায়েন্ট ডেটাবেডিংয়ের সাথে যদি কয়েকটি পৃষ্ঠা দরকার হয় তবে আমি নকআউট এবং জাভাস্ক্রিপ্ট নামস্থান দিয়ে যেতে চাই।

নকআউটটি দুর্দান্ত, বিশেষ করে যদি আপনাকে অসম্পূর্ণ ব্যাকগ্রাউন্ড সামঞ্জস্যের প্রয়োজন হয় এবং মোটামুটি সোজা পৃষ্ঠাগুলি থাকে। আপনি যদি তৃতীয় পক্ষের উপাদানগুলি ব্যবহার করেন তবে নকআউটের কাস্টম বাইন্ডিংগুলি সহজতর এবং সহজে কাজ করা সহজ।

জাভাস্ক্রিপ্ট নামস্থান আপনি আপনার কোড পৃথক এবং পরিচালনাযোগ্য রাখতে পারবেন।

var myCo = myCo || {};
myCo.page = {
    init: function(){ ... },
    ...
}

এবং আপনার স্ক্রিপ্ট লোড করা হয় পরে একটি স্ক্রিপ্ট ট্যাগ

<script>
    myCo.init();
</script>

চাবি, আপনি প্রয়োজন যখন আপনি চান যাই হোক না কেন টুল ব্যবহার করুন। ডাটাবেস প্রয়োজন? Knockout (অথবা যাই হোক না কেন আপনি চান)। রাউটিং প্রয়োজন? sammy.js (অথবা যাই হোক না কেন আপনি চান)।

আপনি চান হিসাবে ক্লায়েন্ট কোড হিসাবে সহজ বা জটিল হতে পারে। আমি একটি বিদ্যমান মালিকানা কাঠামো সঙ্গে একটি খুব জটিল সাইটে Angular সংহত করার চেষ্টা, এবং এটি একটি দুঃস্বপ্ন ছিল। আপনি যদি তাজা শুরু করেন তবে কৌণিকটি দুর্দান্ত, তবে এটি একটি লার্নিং বক্ররেখা এবং আপনাকে খুব শক্ত কার্যপ্রণালীতে লক করে। যদি আপনি এটি অনুসরণ করেন না, আপনার কোড সত্যিই সত্যিই দ্রুত tangled পেতে পারেন।


হয়তো আমার অভিজ্ঞতা কেউ দরকারী হবে। আমরা যৌক্তিকভাবে আমাদের প্রকল্প বিভক্ত। এক SPA আমরা ফিডের জন্য ব্যবহার করি, আরেকটি মানচিত্রের সাথে কাজ করতে, অন্য একটি ব্যবহারকারী প্রোফাইল সম্পাদনা করার জন্য ইত্যাদি। উদাহরণস্বরূপ আমাদের কাছে তিনটি অ্যাপ্লিকেশন রয়েছে: ফিড, ব্যবহারকারী এবং মানচিত্র। আমি এটি পৃথক ইউআরএল ব্যবহার, এই মত:

https://host/feed/#/top/
https://host/user/#/edit/1/
https://host/map/favorites/#/add/

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

প্রকৃতপক্ষে, আপনি খুব সহজে এসপিএ অ্যাপ্লিকেশনগুলির মিশ্রণ তৈরি করতে পারেন, উদাহরণস্বরূপ ফিড angularjs অ্যাপ্লিকেশন সহ url, ব্যাকআপ এবং javascript ব্যাকআপ ব্যাকআপ।

আপনার প্রশ্নের জবাবে:

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

আমি এই ধারণা সমর্থন করি:

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





angularjs